mirror of
https://github.com/nikic/PHP-Parser.git
synced 2025-04-23 07:28:36 +02:00
Implement generalized yield operator
And split tokens.y off, so I don't waste time debugging this again...
This commit is contained in:
parent
602b9807eb
commit
61e060694d
@ -24,7 +24,7 @@ if (empty($files)) {
|
||||
$lexer = new PhpParser\Lexer\Emulative(array('usedAttributes' => array(
|
||||
'startLine', 'endLine', 'startFilePos', 'endFilePos'
|
||||
)));
|
||||
$parser = new PhpParser\Parser($lexer);
|
||||
$parser = new PhpParser\Parser\Php5($lexer);
|
||||
$dumper = new PhpParser\NodeDumper;
|
||||
$prettyPrinter = new PhpParser\PrettyPrinter\Standard;
|
||||
$serializer = new PhpParser\Serializer\XML;
|
||||
|
110
grammar/php5.y
110
grammar/php5.y
@ -1,115 +1,7 @@
|
||||
%pure_parser
|
||||
%expect 6
|
||||
|
||||
%left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE
|
||||
%left ','
|
||||
%left T_LOGICAL_OR
|
||||
%left T_LOGICAL_XOR
|
||||
%left T_LOGICAL_AND
|
||||
%right T_PRINT
|
||||
%right T_YIELD
|
||||
%right T_YIELD_FROM
|
||||
%left '=' T_PLUS_EQUAL T_MINUS_EQUAL T_MUL_EQUAL T_DIV_EQUAL T_CONCAT_EQUAL T_MOD_EQUAL T_AND_EQUAL T_OR_EQUAL T_XOR_EQUAL T_SL_EQUAL T_SR_EQUAL T_POW_EQUAL
|
||||
%left '?' ':'
|
||||
%right T_COALESCE
|
||||
%left T_BOOLEAN_OR
|
||||
%left T_BOOLEAN_AND
|
||||
%left '|'
|
||||
%left '^'
|
||||
%left '&'
|
||||
%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL T_SPACESHIP
|
||||
%nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL
|
||||
%left T_SL T_SR
|
||||
%left '+' '-' '.'
|
||||
%left '*' '/' '%'
|
||||
%right '!'
|
||||
%nonassoc T_INSTANCEOF
|
||||
%right '~' T_INC T_DEC T_INT_CAST T_DOUBLE_CAST T_STRING_CAST T_ARRAY_CAST T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST '@'
|
||||
%right T_POW
|
||||
%right '['
|
||||
%nonassoc T_NEW T_CLONE
|
||||
%token T_EXIT
|
||||
%token T_IF
|
||||
%left T_ELSEIF
|
||||
%left T_ELSE
|
||||
%left T_ENDIF
|
||||
%token T_LNUMBER
|
||||
%token T_DNUMBER
|
||||
%token T_STRING
|
||||
%token T_STRING_VARNAME
|
||||
%token T_VARIABLE
|
||||
%token T_NUM_STRING
|
||||
%token T_INLINE_HTML
|
||||
%token T_CHARACTER
|
||||
%token T_BAD_CHARACTER
|
||||
%token T_ENCAPSED_AND_WHITESPACE
|
||||
%token T_CONSTANT_ENCAPSED_STRING
|
||||
%token T_ECHO
|
||||
%token T_DO
|
||||
%token T_WHILE
|
||||
%token T_ENDWHILE
|
||||
%token T_FOR
|
||||
%token T_ENDFOR
|
||||
%token T_FOREACH
|
||||
%token T_ENDFOREACH
|
||||
%token T_DECLARE
|
||||
%token T_ENDDECLARE
|
||||
%token T_AS
|
||||
%token T_SWITCH
|
||||
%token T_ENDSWITCH
|
||||
%token T_CASE
|
||||
%token T_DEFAULT
|
||||
%token T_BREAK
|
||||
%token T_CONTINUE
|
||||
%token T_GOTO
|
||||
%token T_FUNCTION
|
||||
%token T_CONST
|
||||
%token T_RETURN
|
||||
%token T_TRY
|
||||
%token T_CATCH
|
||||
%token T_FINALLY
|
||||
%token T_THROW
|
||||
%token T_USE
|
||||
%token T_INSTEADOF
|
||||
%token T_GLOBAL
|
||||
%right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC
|
||||
%token T_VAR
|
||||
%token T_UNSET
|
||||
%token T_ISSET
|
||||
%token T_EMPTY
|
||||
%token T_HALT_COMPILER
|
||||
%token T_CLASS
|
||||
%token T_TRAIT
|
||||
%token T_INTERFACE
|
||||
%token T_EXTENDS
|
||||
%token T_IMPLEMENTS
|
||||
%token T_OBJECT_OPERATOR
|
||||
%token T_DOUBLE_ARROW
|
||||
%token T_LIST
|
||||
%token T_ARRAY
|
||||
%token T_CALLABLE
|
||||
%token T_CLASS_C
|
||||
%token T_TRAIT_C
|
||||
%token T_METHOD_C
|
||||
%token T_FUNC_C
|
||||
%token T_LINE
|
||||
%token T_FILE
|
||||
%token T_COMMENT
|
||||
%token T_DOC_COMMENT
|
||||
%token T_OPEN_TAG
|
||||
%token T_OPEN_TAG_WITH_ECHO
|
||||
%token T_CLOSE_TAG
|
||||
%token T_WHITESPACE
|
||||
%token T_START_HEREDOC
|
||||
%token T_END_HEREDOC
|
||||
%token T_DOLLAR_OPEN_CURLY_BRACES
|
||||
%token T_CURLY_OPEN
|
||||
%token T_PAAMAYIM_NEKUDOTAYIM
|
||||
%token T_NAMESPACE
|
||||
%token T_NS_C
|
||||
%token T_DIR
|
||||
%token T_NS_SEPARATOR
|
||||
%token T_ELLIPSIS
|
||||
%tokens
|
||||
|
||||
%{
|
||||
use PhpParser\Error;
|
||||
|
149
grammar/php7.y
149
grammar/php7.y
@ -1,115 +1,7 @@
|
||||
%pure_parser
|
||||
%expect 2
|
||||
|
||||
%left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE
|
||||
%left ','
|
||||
%left T_LOGICAL_OR
|
||||
%left T_LOGICAL_XOR
|
||||
%left T_LOGICAL_AND
|
||||
%right T_PRINT
|
||||
%right T_YIELD
|
||||
%right T_YIELD_FROM
|
||||
%left '=' T_PLUS_EQUAL T_MINUS_EQUAL T_MUL_EQUAL T_DIV_EQUAL T_CONCAT_EQUAL T_MOD_EQUAL T_AND_EQUAL T_OR_EQUAL T_XOR_EQUAL T_SL_EQUAL T_SR_EQUAL T_POW_EQUAL
|
||||
%left '?' ':'
|
||||
%right T_COALESCE
|
||||
%left T_BOOLEAN_OR
|
||||
%left T_BOOLEAN_AND
|
||||
%left '|'
|
||||
%left '^'
|
||||
%left '&'
|
||||
%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL T_SPACESHIP
|
||||
%nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL
|
||||
%left T_SL T_SR
|
||||
%left '+' '-' '.'
|
||||
%left '*' '/' '%'
|
||||
%right '!'
|
||||
%nonassoc T_INSTANCEOF
|
||||
%right '~' T_INC T_DEC T_INT_CAST T_DOUBLE_CAST T_STRING_CAST T_ARRAY_CAST T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST '@'
|
||||
%right T_POW
|
||||
%right '['
|
||||
%nonassoc T_NEW T_CLONE
|
||||
%token T_EXIT
|
||||
%token T_IF
|
||||
%left T_ELSEIF
|
||||
%left T_ELSE
|
||||
%left T_ENDIF
|
||||
%token T_LNUMBER
|
||||
%token T_DNUMBER
|
||||
%token T_STRING
|
||||
%token T_STRING_VARNAME
|
||||
%token T_VARIABLE
|
||||
%token T_NUM_STRING
|
||||
%token T_INLINE_HTML
|
||||
%token T_CHARACTER
|
||||
%token T_BAD_CHARACTER
|
||||
%token T_ENCAPSED_AND_WHITESPACE
|
||||
%token T_CONSTANT_ENCAPSED_STRING
|
||||
%token T_ECHO
|
||||
%token T_DO
|
||||
%token T_WHILE
|
||||
%token T_ENDWHILE
|
||||
%token T_FOR
|
||||
%token T_ENDFOR
|
||||
%token T_FOREACH
|
||||
%token T_ENDFOREACH
|
||||
%token T_DECLARE
|
||||
%token T_ENDDECLARE
|
||||
%token T_AS
|
||||
%token T_SWITCH
|
||||
%token T_ENDSWITCH
|
||||
%token T_CASE
|
||||
%token T_DEFAULT
|
||||
%token T_BREAK
|
||||
%token T_CONTINUE
|
||||
%token T_GOTO
|
||||
%token T_FUNCTION
|
||||
%token T_CONST
|
||||
%token T_RETURN
|
||||
%token T_TRY
|
||||
%token T_CATCH
|
||||
%token T_FINALLY
|
||||
%token T_THROW
|
||||
%token T_USE
|
||||
%token T_INSTEADOF
|
||||
%token T_GLOBAL
|
||||
%right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC
|
||||
%token T_VAR
|
||||
%token T_UNSET
|
||||
%token T_ISSET
|
||||
%token T_EMPTY
|
||||
%token T_HALT_COMPILER
|
||||
%token T_CLASS
|
||||
%token T_TRAIT
|
||||
%token T_INTERFACE
|
||||
%token T_EXTENDS
|
||||
%token T_IMPLEMENTS
|
||||
%token T_OBJECT_OPERATOR
|
||||
%token T_DOUBLE_ARROW
|
||||
%token T_LIST
|
||||
%token T_ARRAY
|
||||
%token T_CALLABLE
|
||||
%token T_CLASS_C
|
||||
%token T_TRAIT_C
|
||||
%token T_METHOD_C
|
||||
%token T_FUNC_C
|
||||
%token T_LINE
|
||||
%token T_FILE
|
||||
%token T_COMMENT
|
||||
%token T_DOC_COMMENT
|
||||
%token T_OPEN_TAG
|
||||
%token T_OPEN_TAG_WITH_ECHO
|
||||
%token T_CLOSE_TAG
|
||||
%token T_WHITESPACE
|
||||
%token T_START_HEREDOC
|
||||
%token T_END_HEREDOC
|
||||
%token T_DOLLAR_OPEN_CURLY_BRACES
|
||||
%token T_CURLY_OPEN
|
||||
%token T_PAAMAYIM_NEKUDOTAYIM
|
||||
%token T_NAMESPACE
|
||||
%token T_NS_C
|
||||
%token T_DIR
|
||||
%token T_NS_SEPARATOR
|
||||
%token T_ELLIPSIS
|
||||
%tokens
|
||||
|
||||
%{
|
||||
use PhpParser\Error;
|
||||
@ -242,19 +134,18 @@ inner_statement:
|
||||
|
||||
statement:
|
||||
'{' inner_statement_list '}' { $$ = $2; }
|
||||
| T_IF parentheses_expr statement elseif_list else_single
|
||||
{ $$ = Stmt\If_[$2, ['stmts' => toArray($3), 'elseifs' => $4, 'else' => $5]]; }
|
||||
| T_IF parentheses_expr ':' inner_statement_list new_elseif_list new_else_single T_ENDIF ';'
|
||||
{ $$ = Stmt\If_[$2, ['stmts' => $4, 'elseifs' => $5, 'else' => $6]]; }
|
||||
| T_WHILE parentheses_expr while_statement { $$ = Stmt\While_[$2, $3]; }
|
||||
| T_DO statement T_WHILE parentheses_expr ';' { $$ = Stmt\Do_ [$4, toArray($2)]; }
|
||||
| T_IF '(' expr ')' statement elseif_list else_single
|
||||
{ $$ = Stmt\If_[$3, ['stmts' => toArray($5), 'elseifs' => $6, 'else' => $7]]; }
|
||||
| T_IF '(' expr ')' ':' inner_statement_list new_elseif_list new_else_single T_ENDIF ';'
|
||||
{ $$ = Stmt\If_[$3, ['stmts' => $6, 'elseifs' => $7, 'else' => $8]]; }
|
||||
| T_WHILE '(' expr ')' while_statement { $$ = Stmt\While_[$3, $5]; }
|
||||
| T_DO statement T_WHILE '(' expr ')' ';' { $$ = Stmt\Do_ [$5, toArray($2)]; }
|
||||
| T_FOR '(' for_expr ';' for_expr ';' for_expr ')' for_statement
|
||||
{ $$ = Stmt\For_[['init' => $3, 'cond' => $5, 'loop' => $7, 'stmts' => $9]]; }
|
||||
| T_SWITCH parentheses_expr switch_case_list { $$ = Stmt\Switch_[$2, $3]; }
|
||||
| T_SWITCH '(' expr ')' switch_case_list { $$ = Stmt\Switch_[$3, $5]; }
|
||||
| T_BREAK optional_expr ';' { $$ = Stmt\Break_[$2]; }
|
||||
| T_CONTINUE optional_expr ';' { $$ = Stmt\Continue_[$2]; }
|
||||
| T_RETURN optional_expr ';' { $$ = Stmt\Return_[$2]; }
|
||||
| yield_expr ';' { $$ = $1; }
|
||||
| T_GLOBAL global_var_list ';' { $$ = Stmt\Global_[$2]; }
|
||||
| T_STATIC static_var_list ';' { $$ = Stmt\Static_[$2]; }
|
||||
| T_ECHO expr_list ';' { $$ = Stmt\Echo_[$2]; }
|
||||
@ -402,7 +293,7 @@ elseif_list:
|
||||
;
|
||||
|
||||
elseif:
|
||||
T_ELSEIF parentheses_expr statement { $$ = Stmt\ElseIf_[$2, toArray($3)]; }
|
||||
T_ELSEIF '(' expr ')' statement { $$ = Stmt\ElseIf_[$3, toArray($5)]; }
|
||||
;
|
||||
|
||||
new_elseif_list:
|
||||
@ -411,7 +302,7 @@ new_elseif_list:
|
||||
;
|
||||
|
||||
new_elseif:
|
||||
T_ELSEIF parentheses_expr ':' inner_statement_list { $$ = Stmt\ElseIf_[$2, $4]; }
|
||||
T_ELSEIF '(' expr ')' ':' inner_statement_list { $$ = Stmt\ElseIf_[$3, $6]; }
|
||||
;
|
||||
|
||||
else_single:
|
||||
@ -466,7 +357,6 @@ optional_return_type:
|
||||
argument_list:
|
||||
'(' ')' { $$ = array(); }
|
||||
| '(' non_empty_argument_list ')' { $$ = $2; }
|
||||
| '(' yield_expr ')' { $$ = array(Node\Arg[$2, false, false]); }
|
||||
;
|
||||
|
||||
non_empty_argument_list:
|
||||
@ -647,7 +537,7 @@ expr:
|
||||
| expr '>' expr { $$ = Expr\BinaryOp\Greater [$1, $3]; }
|
||||
| expr T_IS_GREATER_OR_EQUAL expr { $$ = Expr\BinaryOp\GreaterOrEqual[$1, $3]; }
|
||||
| expr T_INSTANCEOF class_name_reference { $$ = Expr\Instanceof_[$1, $3]; }
|
||||
| parentheses_expr { $$ = $1; }
|
||||
| '(' expr ')' { $$ = $2; }
|
||||
| expr '?' expr ':' expr { $$ = Expr\Ternary[$1, $3, $5]; }
|
||||
| expr '?' ':' expr { $$ = Expr\Ternary[$1, null, $4]; }
|
||||
| expr T_COALESCE expr { $$ = Expr\BinaryOp\Coalesce[$1, $3]; }
|
||||
@ -655,7 +545,7 @@ expr:
|
||||
| T_EMPTY '(' expr ')' { $$ = Expr\Empty_[$3]; }
|
||||
| T_INCLUDE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_INCLUDE]; }
|
||||
| T_INCLUDE_ONCE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_INCLUDE_ONCE]; }
|
||||
| T_EVAL parentheses_expr { $$ = Expr\Eval_[$2]; }
|
||||
| T_EVAL '(' expr ')' { $$ = Expr\Eval_[$3]; }
|
||||
| T_REQUIRE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_REQUIRE]; }
|
||||
| T_REQUIRE_ONCE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_REQUIRE_ONCE]; }
|
||||
| T_INT_CAST expr { $$ = Expr\Cast\Int_ [$2]; }
|
||||
@ -671,6 +561,8 @@ expr:
|
||||
| '`' backticks_expr '`' { $$ = Expr\ShellExec[$2]; }
|
||||
| T_PRINT expr { $$ = Expr\Print_[$2]; }
|
||||
| T_YIELD { $$ = Expr\Yield_[null, null]; }
|
||||
| T_YIELD expr { $$ = Expr\Yield_[$2, null]; }
|
||||
| T_YIELD expr T_DOUBLE_ARROW expr { $$ = Expr\Yield_[$4, $2]; }
|
||||
| T_YIELD_FROM expr { $$ = Expr\YieldFrom[$2]; }
|
||||
| T_FUNCTION optional_ref '(' parameter_list ')' lexical_vars optional_return_type
|
||||
'{' inner_statement_list '}'
|
||||
@ -680,16 +572,6 @@ expr:
|
||||
{ $$ = Expr\Closure[['static' => true, 'byRef' => $3, 'params' => $5, 'uses' => $7, 'returnType' => $8, 'stmts' => $10]]; }
|
||||
;
|
||||
|
||||
parentheses_expr:
|
||||
'(' expr ')' { $$ = $2; }
|
||||
| '(' yield_expr ')' { $$ = $2; }
|
||||
;
|
||||
|
||||
yield_expr:
|
||||
T_YIELD expr { $$ = Expr\Yield_[$2, null]; }
|
||||
| T_YIELD expr T_DOUBLE_ARROW expr { $$ = Expr\Yield_[$4, $2]; }
|
||||
;
|
||||
|
||||
anonymous_class:
|
||||
T_CLASS ctor_arguments extends_from implements_list '{' class_statement_list '}'
|
||||
{ $$ = array(Stmt\Class_[null, ['type' => 0, 'extends' => $3, 'implements' => $4, 'stmts' => $6]], $2); }
|
||||
@ -744,8 +626,7 @@ class_name_or_var:
|
||||
|
||||
exit_expr:
|
||||
/* empty */ { $$ = null; }
|
||||
| '(' ')' { $$ = null; }
|
||||
| parentheses_expr { $$ = $1; }
|
||||
| '(' optional_expr ')' { $$ = $2; }
|
||||
;
|
||||
|
||||
backticks_expr:
|
||||
|
@ -5,6 +5,7 @@ $grammarFileToName = [
|
||||
__DIR__ . '/php7.y' => 'Php7',
|
||||
];
|
||||
|
||||
$tokensFile = __DIR__ . '/tokens.y';
|
||||
$skeletonFile = __DIR__ . '/kmyacc.php.parser';
|
||||
$tmpGrammarFile = __DIR__ . '/tmp_parser.phpy';
|
||||
$tmpResultFile = __DIR__ . '/tmp_parser.php';
|
||||
@ -39,10 +40,13 @@ const ARGS = '\((?<args>[^()]*+(?:\((?&args)\)[^()]*+)*+)\)';
|
||||
/// Main script ///
|
||||
///////////////////
|
||||
|
||||
$tokens = file_get_contents($tokensFile);
|
||||
|
||||
foreach ($grammarFileToName as $grammarFile => $name) {
|
||||
echo "Building temporary $name grammar file.\n";
|
||||
|
||||
$grammarCode = file_get_contents($grammarFile);
|
||||
$grammarCode = str_replace('%tokens', $tokens, $grammarCode);
|
||||
|
||||
$grammarCode = resolveNodes($grammarCode);
|
||||
$grammarCode = resolveMacros($grammarCode);
|
||||
|
113
grammar/tokens.y
Normal file
113
grammar/tokens.y
Normal file
@ -0,0 +1,113 @@
|
||||
/* We currently rely on the token ID mapping to be the same between PHP 5 and PHP 7 - so the same lexer can be used for
|
||||
* both. This is enforced by sharing this token file. */
|
||||
|
||||
%left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE
|
||||
%left ','
|
||||
%left T_LOGICAL_OR
|
||||
%left T_LOGICAL_XOR
|
||||
%left T_LOGICAL_AND
|
||||
%right T_PRINT
|
||||
%right T_YIELD
|
||||
%right T_DOUBLE_ARROW
|
||||
%right T_YIELD_FROM
|
||||
%left '=' T_PLUS_EQUAL T_MINUS_EQUAL T_MUL_EQUAL T_DIV_EQUAL T_CONCAT_EQUAL T_MOD_EQUAL T_AND_EQUAL T_OR_EQUAL T_XOR_EQUAL T_SL_EQUAL T_SR_EQUAL T_POW_EQUAL
|
||||
%left '?' ':'
|
||||
%right T_COALESCE
|
||||
%left T_BOOLEAN_OR
|
||||
%left T_BOOLEAN_AND
|
||||
%left '|'
|
||||
%left '^'
|
||||
%left '&'
|
||||
%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL T_SPACESHIP
|
||||
%nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL
|
||||
%left T_SL T_SR
|
||||
%left '+' '-' '.'
|
||||
%left '*' '/' '%'
|
||||
%right '!'
|
||||
%nonassoc T_INSTANCEOF
|
||||
%right '~' T_INC T_DEC T_INT_CAST T_DOUBLE_CAST T_STRING_CAST T_ARRAY_CAST T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST '@'
|
||||
%right T_POW
|
||||
%right '['
|
||||
%nonassoc T_NEW T_CLONE
|
||||
%token T_EXIT
|
||||
%token T_IF
|
||||
%left T_ELSEIF
|
||||
%left T_ELSE
|
||||
%left T_ENDIF
|
||||
%token T_LNUMBER
|
||||
%token T_DNUMBER
|
||||
%token T_STRING
|
||||
%token T_STRING_VARNAME
|
||||
%token T_VARIABLE
|
||||
%token T_NUM_STRING
|
||||
%token T_INLINE_HTML
|
||||
%token T_CHARACTER
|
||||
%token T_BAD_CHARACTER
|
||||
%token T_ENCAPSED_AND_WHITESPACE
|
||||
%token T_CONSTANT_ENCAPSED_STRING
|
||||
%token T_ECHO
|
||||
%token T_DO
|
||||
%token T_WHILE
|
||||
%token T_ENDWHILE
|
||||
%token T_FOR
|
||||
%token T_ENDFOR
|
||||
%token T_FOREACH
|
||||
%token T_ENDFOREACH
|
||||
%token T_DECLARE
|
||||
%token T_ENDDECLARE
|
||||
%token T_AS
|
||||
%token T_SWITCH
|
||||
%token T_ENDSWITCH
|
||||
%token T_CASE
|
||||
%token T_DEFAULT
|
||||
%token T_BREAK
|
||||
%token T_CONTINUE
|
||||
%token T_GOTO
|
||||
%token T_FUNCTION
|
||||
%token T_CONST
|
||||
%token T_RETURN
|
||||
%token T_TRY
|
||||
%token T_CATCH
|
||||
%token T_FINALLY
|
||||
%token T_THROW
|
||||
%token T_USE
|
||||
%token T_INSTEADOF
|
||||
%token T_GLOBAL
|
||||
%right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC
|
||||
%token T_VAR
|
||||
%token T_UNSET
|
||||
%token T_ISSET
|
||||
%token T_EMPTY
|
||||
%token T_HALT_COMPILER
|
||||
%token T_CLASS
|
||||
%token T_TRAIT
|
||||
%token T_INTERFACE
|
||||
%token T_EXTENDS
|
||||
%token T_IMPLEMENTS
|
||||
%token T_OBJECT_OPERATOR
|
||||
%token T_DOUBLE_ARROW
|
||||
%token T_LIST
|
||||
%token T_ARRAY
|
||||
%token T_CALLABLE
|
||||
%token T_CLASS_C
|
||||
%token T_TRAIT_C
|
||||
%token T_METHOD_C
|
||||
%token T_FUNC_C
|
||||
%token T_LINE
|
||||
%token T_FILE
|
||||
%token T_COMMENT
|
||||
%token T_DOC_COMMENT
|
||||
%token T_OPEN_TAG
|
||||
%token T_OPEN_TAG_WITH_ECHO
|
||||
%token T_CLOSE_TAG
|
||||
%token T_WHITESPACE
|
||||
%token T_START_HEREDOC
|
||||
%token T_END_HEREDOC
|
||||
%token T_DOLLAR_OPEN_CURLY_BRACES
|
||||
%token T_CURLY_OPEN
|
||||
%token T_PAAMAYIM_NEKUDOTAYIM
|
||||
%token T_NAMESPACE
|
||||
%token T_NS_C
|
||||
%token T_DIR
|
||||
%token T_NS_SEPARATOR
|
||||
%token T_ELLIPSIS
|
@ -18,7 +18,7 @@ use PhpParser\Node\Stmt;
|
||||
class Php5 extends \PhpParser\ParserAbstract
|
||||
{
|
||||
protected $tokenToSymbolMapSize = 392;
|
||||
protected $actionTableSize = 1313;
|
||||
protected $actionTableSize = 1261;
|
||||
protected $gotoTableSize = 588;
|
||||
|
||||
protected $invalidSymbol = 157;
|
||||
@ -40,106 +40,106 @@ class Php5 extends \PhpParser\ParserAbstract
|
||||
const T_LOGICAL_AND = 264;
|
||||
const T_PRINT = 265;
|
||||
const T_YIELD = 266;
|
||||
const T_YIELD_FROM = 267;
|
||||
const T_PLUS_EQUAL = 268;
|
||||
const T_MINUS_EQUAL = 269;
|
||||
const T_MUL_EQUAL = 270;
|
||||
const T_DIV_EQUAL = 271;
|
||||
const T_CONCAT_EQUAL = 272;
|
||||
const T_MOD_EQUAL = 273;
|
||||
const T_AND_EQUAL = 274;
|
||||
const T_OR_EQUAL = 275;
|
||||
const T_XOR_EQUAL = 276;
|
||||
const T_SL_EQUAL = 277;
|
||||
const T_SR_EQUAL = 278;
|
||||
const T_POW_EQUAL = 279;
|
||||
const T_COALESCE = 280;
|
||||
const T_BOOLEAN_OR = 281;
|
||||
const T_BOOLEAN_AND = 282;
|
||||
const T_IS_EQUAL = 283;
|
||||
const T_IS_NOT_EQUAL = 284;
|
||||
const T_IS_IDENTICAL = 285;
|
||||
const T_IS_NOT_IDENTICAL = 286;
|
||||
const T_SPACESHIP = 287;
|
||||
const T_IS_SMALLER_OR_EQUAL = 288;
|
||||
const T_IS_GREATER_OR_EQUAL = 289;
|
||||
const T_SL = 290;
|
||||
const T_SR = 291;
|
||||
const T_INSTANCEOF = 292;
|
||||
const T_INC = 293;
|
||||
const T_DEC = 294;
|
||||
const T_INT_CAST = 295;
|
||||
const T_DOUBLE_CAST = 296;
|
||||
const T_STRING_CAST = 297;
|
||||
const T_ARRAY_CAST = 298;
|
||||
const T_OBJECT_CAST = 299;
|
||||
const T_BOOL_CAST = 300;
|
||||
const T_UNSET_CAST = 301;
|
||||
const T_POW = 302;
|
||||
const T_NEW = 303;
|
||||
const T_CLONE = 304;
|
||||
const T_EXIT = 305;
|
||||
const T_IF = 306;
|
||||
const T_ELSEIF = 307;
|
||||
const T_ELSE = 308;
|
||||
const T_ENDIF = 309;
|
||||
const T_LNUMBER = 310;
|
||||
const T_DNUMBER = 311;
|
||||
const T_STRING = 312;
|
||||
const T_STRING_VARNAME = 313;
|
||||
const T_VARIABLE = 314;
|
||||
const T_NUM_STRING = 315;
|
||||
const T_INLINE_HTML = 316;
|
||||
const T_CHARACTER = 317;
|
||||
const T_BAD_CHARACTER = 318;
|
||||
const T_ENCAPSED_AND_WHITESPACE = 319;
|
||||
const T_CONSTANT_ENCAPSED_STRING = 320;
|
||||
const T_ECHO = 321;
|
||||
const T_DO = 322;
|
||||
const T_WHILE = 323;
|
||||
const T_ENDWHILE = 324;
|
||||
const T_FOR = 325;
|
||||
const T_ENDFOR = 326;
|
||||
const T_FOREACH = 327;
|
||||
const T_ENDFOREACH = 328;
|
||||
const T_DECLARE = 329;
|
||||
const T_ENDDECLARE = 330;
|
||||
const T_AS = 331;
|
||||
const T_SWITCH = 332;
|
||||
const T_ENDSWITCH = 333;
|
||||
const T_CASE = 334;
|
||||
const T_DEFAULT = 335;
|
||||
const T_BREAK = 336;
|
||||
const T_CONTINUE = 337;
|
||||
const T_GOTO = 338;
|
||||
const T_FUNCTION = 339;
|
||||
const T_CONST = 340;
|
||||
const T_RETURN = 341;
|
||||
const T_TRY = 342;
|
||||
const T_CATCH = 343;
|
||||
const T_FINALLY = 344;
|
||||
const T_THROW = 345;
|
||||
const T_USE = 346;
|
||||
const T_INSTEADOF = 347;
|
||||
const T_GLOBAL = 348;
|
||||
const T_STATIC = 349;
|
||||
const T_ABSTRACT = 350;
|
||||
const T_FINAL = 351;
|
||||
const T_PRIVATE = 352;
|
||||
const T_PROTECTED = 353;
|
||||
const T_PUBLIC = 354;
|
||||
const T_VAR = 355;
|
||||
const T_UNSET = 356;
|
||||
const T_ISSET = 357;
|
||||
const T_EMPTY = 358;
|
||||
const T_HALT_COMPILER = 359;
|
||||
const T_CLASS = 360;
|
||||
const T_TRAIT = 361;
|
||||
const T_INTERFACE = 362;
|
||||
const T_EXTENDS = 363;
|
||||
const T_IMPLEMENTS = 364;
|
||||
const T_OBJECT_OPERATOR = 365;
|
||||
const T_DOUBLE_ARROW = 366;
|
||||
const T_DOUBLE_ARROW = 267;
|
||||
const T_YIELD_FROM = 268;
|
||||
const T_PLUS_EQUAL = 269;
|
||||
const T_MINUS_EQUAL = 270;
|
||||
const T_MUL_EQUAL = 271;
|
||||
const T_DIV_EQUAL = 272;
|
||||
const T_CONCAT_EQUAL = 273;
|
||||
const T_MOD_EQUAL = 274;
|
||||
const T_AND_EQUAL = 275;
|
||||
const T_OR_EQUAL = 276;
|
||||
const T_XOR_EQUAL = 277;
|
||||
const T_SL_EQUAL = 278;
|
||||
const T_SR_EQUAL = 279;
|
||||
const T_POW_EQUAL = 280;
|
||||
const T_COALESCE = 281;
|
||||
const T_BOOLEAN_OR = 282;
|
||||
const T_BOOLEAN_AND = 283;
|
||||
const T_IS_EQUAL = 284;
|
||||
const T_IS_NOT_EQUAL = 285;
|
||||
const T_IS_IDENTICAL = 286;
|
||||
const T_IS_NOT_IDENTICAL = 287;
|
||||
const T_SPACESHIP = 288;
|
||||
const T_IS_SMALLER_OR_EQUAL = 289;
|
||||
const T_IS_GREATER_OR_EQUAL = 290;
|
||||
const T_SL = 291;
|
||||
const T_SR = 292;
|
||||
const T_INSTANCEOF = 293;
|
||||
const T_INC = 294;
|
||||
const T_DEC = 295;
|
||||
const T_INT_CAST = 296;
|
||||
const T_DOUBLE_CAST = 297;
|
||||
const T_STRING_CAST = 298;
|
||||
const T_ARRAY_CAST = 299;
|
||||
const T_OBJECT_CAST = 300;
|
||||
const T_BOOL_CAST = 301;
|
||||
const T_UNSET_CAST = 302;
|
||||
const T_POW = 303;
|
||||
const T_NEW = 304;
|
||||
const T_CLONE = 305;
|
||||
const T_EXIT = 306;
|
||||
const T_IF = 307;
|
||||
const T_ELSEIF = 308;
|
||||
const T_ELSE = 309;
|
||||
const T_ENDIF = 310;
|
||||
const T_LNUMBER = 311;
|
||||
const T_DNUMBER = 312;
|
||||
const T_STRING = 313;
|
||||
const T_STRING_VARNAME = 314;
|
||||
const T_VARIABLE = 315;
|
||||
const T_NUM_STRING = 316;
|
||||
const T_INLINE_HTML = 317;
|
||||
const T_CHARACTER = 318;
|
||||
const T_BAD_CHARACTER = 319;
|
||||
const T_ENCAPSED_AND_WHITESPACE = 320;
|
||||
const T_CONSTANT_ENCAPSED_STRING = 321;
|
||||
const T_ECHO = 322;
|
||||
const T_DO = 323;
|
||||
const T_WHILE = 324;
|
||||
const T_ENDWHILE = 325;
|
||||
const T_FOR = 326;
|
||||
const T_ENDFOR = 327;
|
||||
const T_FOREACH = 328;
|
||||
const T_ENDFOREACH = 329;
|
||||
const T_DECLARE = 330;
|
||||
const T_ENDDECLARE = 331;
|
||||
const T_AS = 332;
|
||||
const T_SWITCH = 333;
|
||||
const T_ENDSWITCH = 334;
|
||||
const T_CASE = 335;
|
||||
const T_DEFAULT = 336;
|
||||
const T_BREAK = 337;
|
||||
const T_CONTINUE = 338;
|
||||
const T_GOTO = 339;
|
||||
const T_FUNCTION = 340;
|
||||
const T_CONST = 341;
|
||||
const T_RETURN = 342;
|
||||
const T_TRY = 343;
|
||||
const T_CATCH = 344;
|
||||
const T_FINALLY = 345;
|
||||
const T_THROW = 346;
|
||||
const T_USE = 347;
|
||||
const T_INSTEADOF = 348;
|
||||
const T_GLOBAL = 349;
|
||||
const T_STATIC = 350;
|
||||
const T_ABSTRACT = 351;
|
||||
const T_FINAL = 352;
|
||||
const T_PRIVATE = 353;
|
||||
const T_PROTECTED = 354;
|
||||
const T_PUBLIC = 355;
|
||||
const T_VAR = 356;
|
||||
const T_UNSET = 357;
|
||||
const T_ISSET = 358;
|
||||
const T_EMPTY = 359;
|
||||
const T_HALT_COMPILER = 360;
|
||||
const T_CLASS = 361;
|
||||
const T_TRAIT = 362;
|
||||
const T_INTERFACE = 363;
|
||||
const T_EXTENDS = 364;
|
||||
const T_IMPLEMENTS = 365;
|
||||
const T_OBJECT_OPERATOR = 366;
|
||||
const T_LIST = 367;
|
||||
const T_ARRAY = 368;
|
||||
const T_CALLABLE = 369;
|
||||
@ -180,6 +180,7 @@ class Php5 extends \PhpParser\ParserAbstract
|
||||
"T_LOGICAL_AND",
|
||||
"T_PRINT",
|
||||
"T_YIELD",
|
||||
"T_DOUBLE_ARROW",
|
||||
"T_YIELD_FROM",
|
||||
"'='",
|
||||
"T_PLUS_EQUAL",
|
||||
@ -295,7 +296,6 @@ class Php5 extends \PhpParser\ParserAbstract
|
||||
"T_EXTENDS",
|
||||
"T_IMPLEMENTS",
|
||||
"T_OBJECT_OPERATOR",
|
||||
"T_DOUBLE_ARROW",
|
||||
"T_LIST",
|
||||
"T_ARRAY",
|
||||
"T_CALLABLE",
|
||||
@ -330,16 +330,16 @@ class Php5 extends \PhpParser\ParserAbstract
|
||||
0, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
||||
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
||||
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
||||
157, 157, 157, 52, 156, 157, 153, 51, 34, 157,
|
||||
151, 152, 49, 46, 7, 47, 48, 50, 157, 157,
|
||||
157, 157, 157, 157, 157, 157, 157, 157, 28, 148,
|
||||
40, 14, 42, 27, 64, 157, 157, 157, 157, 157,
|
||||
157, 157, 157, 53, 156, 157, 153, 52, 35, 157,
|
||||
151, 152, 50, 47, 7, 48, 49, 51, 157, 157,
|
||||
157, 157, 157, 157, 157, 157, 157, 157, 29, 148,
|
||||
41, 15, 43, 28, 65, 157, 157, 157, 157, 157,
|
||||
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
||||
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
||||
157, 66, 157, 155, 33, 157, 154, 157, 157, 157,
|
||||
157, 67, 157, 155, 34, 157, 154, 157, 157, 157,
|
||||
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
||||
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
||||
157, 157, 157, 149, 32, 150, 54, 157, 157, 157,
|
||||
157, 157, 157, 149, 33, 150, 55, 157, 157, 157,
|
||||
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
||||
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
||||
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
||||
@ -353,12 +353,12 @@ class Php5 extends \PhpParser\ParserAbstract
|
||||
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
||||
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
||||
157, 157, 157, 157, 157, 157, 1, 2, 3, 4,
|
||||
5, 6, 8, 9, 10, 11, 12, 13, 15, 16,
|
||||
5, 6, 8, 9, 10, 11, 12, 13, 14, 16,
|
||||
17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
|
||||
29, 30, 31, 35, 36, 37, 38, 39, 41, 43,
|
||||
44, 45, 53, 55, 56, 57, 58, 59, 60, 61,
|
||||
62, 63, 65, 67, 68, 69, 70, 71, 72, 73,
|
||||
74, 75, 76, 77, 78, 79, 80, 157, 157, 81,
|
||||
27, 30, 31, 32, 36, 37, 38, 39, 40, 42,
|
||||
44, 45, 46, 54, 56, 57, 58, 59, 60, 61,
|
||||
62, 63, 64, 66, 68, 69, 70, 71, 72, 73,
|
||||
74, 75, 76, 77, 78, 79, 80, 81, 157, 157,
|
||||
82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
|
||||
92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
|
||||
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
|
||||
@ -371,339 +371,329 @@ class Php5 extends \PhpParser\ParserAbstract
|
||||
|
||||
protected $action = array(
|
||||
800, 70, 71, 431, 72, 73,-32766,-32766,-32766,-32766,
|
||||
74, 75, 76, 234, 235, 236, 237, 238, 239, 240,
|
||||
241, 242, 368, 243, 244, 245, 246, 247, 248, 249,
|
||||
250, 251, 252, 253, 254,-32766,-32766,-32766,-32766,-32766,
|
||||
-32767,-32767,-32767,-32767, 0, 77, 78, 68, 255, 256,
|
||||
649, 79, 315, 80, 309, 310, 81, 82, 83, 84,
|
||||
85, 86, 87, 88, 458, 42, 317, 89, 423, 432,
|
||||
-32766,-32766,-32766, 1062, 1063, 474, -197, 1153, 844, 789,
|
||||
357, 475, 56, 27, 433, 337, 476, 449, 477,-32766,
|
||||
478,-32766,-32766, 434, 231, 232, 233, 46, 47, 479,
|
||||
435, 445, 48, 480, 634, 388, 90, 147, 340, 370,
|
||||
371, 579, 139, 218, 259, 481, 482, 483, 484, 485,
|
||||
231, 232, 233, 439, 771, 816, 486, 487, 488, 489,
|
||||
138, 1068, 1069, 1070, 1071, 1065, 1066, 326, 45, 218,
|
||||
377, 551, 502, 1072, 1067, 436, 67, 795, 632, 352,
|
||||
57, 324, 350, 338, 222, 342, 664, 665, 666, 667,
|
||||
668,-32766, 669, 670, 671, 707, 708, 49, 312, 51,
|
||||
121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
|
||||
131, 132,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,
|
||||
-32766, 34,-32767,-32767,-32767,-32767, 629, 347, 845, 430,
|
||||
920, 921, 922, 919, 918, 917, 912, 672, 450, 22,
|
||||
950, 952,-32767,-32767,-32767,-32767, 112, 113, 114, 115,
|
||||
116, 673, 674, 675, 676, 677, 678, 679, 749, 136,
|
||||
730, 920, 921, 922, 919, 918, 917, 680, 681, 682,
|
||||
683, 684, 685, 686, 687, 688, 689, 690, 710, 711,
|
||||
712, 713, 714, 702, 703, 704, 705, 706, 691, 692,
|
||||
693, 694, 695, 696, 697, 724, 725, 726, 727, 728,
|
||||
729, 698, 699, 700, 701, 224, 722, 720, 721, 717,
|
||||
718, 786, -479, 709, 715, 716, 94, 95, 96,-32766,
|
||||
-32766,-32766, 481, 482, 114, 115, 116, 719, 300,-32766,
|
||||
223, 771, 816, 486, 487, 50, 41, 97, 98, 99,
|
||||
100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
|
||||
110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
|
||||
910, 319, 313,-32766,-32766,-32766, 1147, 117, 118, 119,
|
||||
732, 319, 1153, 120, 1029, 746, 747, 262,-32766,-32766,
|
||||
-32766, 471,-32766, 120,-32766,-32766,-32766,-32766,-32766,-32766,
|
||||
-32767,-32767,-32767,-32767,-32767, 451, 64,-32766,-32766,-32766,
|
||||
-32766,-32766,-32766,-32766, 732, 1039, 232, 233,-32766, 316,
|
||||
298,-32766,-32766,-32766, 1011,-32766, 218,-32766, 133,-32766,
|
||||
428, 452,-32766, 1147, 218, 621,-32766,-32766,-32766, 439,
|
||||
-32766,-32766,-32766, 225, -198,-32766, 313, 502,-32766, 501,
|
||||
436, 358, -183, -183, -183, 440,-32766, 350,-32766,-32766,
|
||||
-32766, 145, 481, 482, 1185,-32766, 1187, 1186, 35, 481,
|
||||
482, 771, 816, 486, 487, 799, 1011,-32766, 771, 816,
|
||||
486, 487,-32766, 1160, 732, 142,-32766,-32766, 732, 134,
|
||||
874, 875,-32766, 65, -251,-32766,-32766,-32766, 311,-32766,
|
||||
803,-32766, 622,-32766, 143, 436,-32766, -183, 358, 898,
|
||||
-32766,-32766,-32766, 439, 488,-32766,-32766,-32766,-32766,-32766,
|
||||
-32766,-32766,-32766, 501,-32766, 252, 253, 254, 1011, 1153,
|
||||
-32766, 884, 893,-32766,-32766, 644, 1175, -191, -191, -191,
|
||||
732, 255, 256, 261,-32766, 1182, 745,-32766,-32766,-32766,
|
||||
314,-32766, 260,-32766, 436,-32766, 868, 869,-32766, 142,
|
||||
-32766,-32766,-32766,-32766,-32766, 439, 809,-32766,-32766, 502,
|
||||
-32766,-32766, 787, 588,-32766, 501, 135, 635, 481, 482,
|
||||
653, 1011,-32766, 231, 232, 233,-32766, 771, 816, 486,
|
||||
487, 120, 732,-32766,-32766,-32766,-32766, 141, 656,-32766,
|
||||
-32766,-32766, 218,-32766, 350,-32766, 302,-32766, 439, 894,
|
||||
-32766, 1118,-32766,-32766,-32766,-32766,-32766, 439, 233,-32766,
|
||||
-32766, 648,-32766,-32766, 868, 869,-32766, 501, 231, 232,
|
||||
233, 1074, 425, 1011,-32766, 218, 319, 502, 637,-32766,
|
||||
1157, 343, -193, -193, -193, 732, -202, 218, 66,-32766,
|
||||
439, 63,-32766,-32766,-32766, 301,-32766, 325,-32766, 317,
|
||||
-32766,-32766, 146,-32766,-32766,-32766, 60,-32766,-32766,-32766,
|
||||
439, 439,-32766,-32766,-32766, 1175,-32766,-32766,-32766,-32766,
|
||||
501, 255, 256, 481, 482, 1011, 607,-32766, 249, 250,
|
||||
251,-32766, 771, 816, 486, 487, 59, 732, 62, 1074,
|
||||
522,-32766, 460, 28,-32766,-32766,-32766, 356,-32766, 582,
|
||||
-32766, 439,-32766, 144, 444,-32766, 61,-32766,-32766,-32766,
|
||||
-32766,-32766, 439, 69,-32766,-32766,-32766, 446,-32766, 733,
|
||||
1112,-32766, 501, 1119, 523, 481, 482, 148, 378,-32766,
|
||||
465, 594, 620,-32766, 771, 816, 486, 487, 257, 732,
|
||||
398, 601, 602,-32766, 628, 527,-32766,-32766,-32766, 540,
|
||||
-32766, 753,-32766, 541,-32766, 739, 639,-32766, 1180,-32766,
|
||||
-32766,-32766,-32766,-32766, 439, 755,-32766,-32766, 481, 482,
|
||||
-32766, 614,-32766,-32766, 501, 909, 659, 771, 816, 486,
|
||||
487,-32766, 604, 1011, 526,-32766, 897, 652, 231, 232,
|
||||
233, 732, 1032, 355, 1175,-32766, 448, 597,-32766,-32766,
|
||||
-32766, 39,-32766, 572,-32766, 598,-32766, 218, 443,-32766,
|
||||
-70,-32766,-32766,-32766,-32766,-32766, 439, 297,-32766,-32766,
|
||||
543, 585,-32766, 469,-32766,-32766, 501, 348, 481, 482,
|
||||
439, 818, 341,-32766, 1073, 1011, -389, 771, 816, 486,
|
||||
487,-32766,-32766,-32766,-32766,-32766,-32766, 732, 345, 52,
|
||||
817,-32766, -480, 1158,-32766,-32766,-32766, 351,-32766, 346,
|
||||
-32766, -479,-32766,-32766,-32766,-32766, 642, 1055, 339,-32766,
|
||||
-32766,-32766, 439, 137,-32766,-32766,-32766, 488,-32766, 391,
|
||||
-380,-32766, 501, 502, -388, 38, 31, 1011, 30,-32766,
|
||||
91, 36, 0,-32766, 811, 0, 393, 405, 445, 732,
|
||||
533, 428,-32766,-32766, 40, 791,-32766,-32766,-32766, 743,
|
||||
-32766, 742,-32766, 901,-32766, 619, 776,-32766, 847, 781,
|
||||
-32766,-32766,-32766,-32766, 439, 838,-32766,-32766,-32766, 902,
|
||||
-32766, 905, 1113,-32766, 501, 904, 828, 481, 482, 1011,
|
||||
830,-32766, 832, 774, 839,-32766, 771, 816, 486, 487,
|
||||
903, 732, 798, 785, 797,-32766, 784, 782,-32766,-32766,
|
||||
-32766, 780,-32766, 788,-32766, 790,-32766, 54, 55,-32766,
|
||||
611, 779,-32766,-32766,-32766,-32766, 439, 640,-32766,-32766,
|
||||
-32766, 641,-32766, 658, 657,-32766, 501, 655, 93, 633,
|
||||
481, 482, 654,-32766, 367, 335, 140,-32766, 643, 771,
|
||||
816, 486, 487, 732, 645, 651, 646,-32766, 638, 43,
|
||||
-32766,-32766,-32766, 886,-32766, 1053,-32766, 1150,-32766, 1138,
|
||||
1152,-32766, 1154, 783,-32766,-32766,-32766,-32766, 439, 1181,
|
||||
-32766,-32766, 464, 1183,-32766, 1184, 815,-32766, 501, 814,
|
||||
813, 748, 1025, 836, -1,-32766, 837, 1148, 1009,-32766,
|
||||
44, 427, 422, 353, 323, 732, 322, 321, 320,-32766,
|
||||
308, 307,-32766,-32766,-32766, 299,-32766, 221,-32766, 258,
|
||||
-32766, 92,-32766,-32766, 58,-32766,-32766,-32766,-32766,-32766,
|
||||
439, 53,-32766,-32766, 1015, -199,-32766, 226, 227,-32766,
|
||||
501, 991, 573, 228, 1078, 229, 876,-32766, 1019, 1016,
|
||||
626, 564, 472, 468, 466, 990, 461, 220, -182, -182,
|
||||
-182, 399, 226, 227, 25, 1062, 1063, 24, 228,-32766,
|
||||
229, 23, -198, 1064, 0, 481, 482,-32766,-32766, 605,
|
||||
1132, 1079, 220, 1179, 771, 816, 486, 487, 1052, 1149,
|
||||
1062, 1063, 1133, 1137,-32766, 1151, 424, 1038, 1064, 1023,
|
||||
481, 482, 336, 1024, 1021, 1022, 481, 482, 1020, 771,
|
||||
816, 486, 487, -182, 0, 738, 816, 486, 487, 0,
|
||||
0, 569, 0, 1068, 1069, 1070, 1071, 1065, 1066, 404,
|
||||
0, 0, 0, 0, 0, 1072, 1067, 349, 772, 0,
|
||||
0, 0, 230, 0,-32766, 0, 569, 0, 1068, 1069,
|
||||
1070, 1071, 1065, 1066, 404,-32766,-32766,-32766, 0, 0,
|
||||
1072, 1067, 424, 0, 0, 0, 0, 230, 336,-32766,
|
||||
0, 0, 481, 482,-32766, 0,-32766,-32766,-32766, 424,
|
||||
0, 738, 816, 486, 487, 336, 0, 0, 0, 481,
|
||||
482, 0,-32766,-32766,-32766, 0, 0, 0, 738, 816,
|
||||
486, 487, 0, 349, 0, 0, 0,-32766,-32766,-32766,
|
||||
741,-32766, 0,-32766,-32766,-32766,-32766,-32766,-32766, 0,
|
||||
349, 0, 0, 0, 481, 482,-32766, 740,-32766,-32766,
|
||||
-32766,-32766,-32766, 771, 816, 486, 487, 481, 482, 0,
|
||||
0, 481, 482, 0, 0, 0, 771, 816, 486, 487,
|
||||
771, 816, 486, 487, 481, 482, 0, 0, 0, 0,
|
||||
0, 0, 805, 771, 816, 486, 487, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 812, 0, 0, 0, 1013,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 1014
|
||||
74, 75, 0, 76, 234, 235, 236, 237, 238, 239,
|
||||
240, 241, 242, 1147, 243, 244, 245, 246, 247, 248,
|
||||
249, 250, 251, 252, 253, 254,-32766,-32766,-32766,-32766,
|
||||
-32766,-32767,-32767,-32767,-32767, 64, 77, 78, 68, 255,
|
||||
256, 388, 79, 222, 80, 309, 310, 81, 82, 83,
|
||||
84, 85, 86, 87, 88, 637, 42, 317, 89, 423,
|
||||
432, 232, 233, 644, 1062, 1063, 474, 45, 1153, 582,
|
||||
789, 649, 475, 56, 27, 433, 629, 476, 451, 477,
|
||||
218, 478, 732, 143, 434, 746, 747, 358, 46, 47,
|
||||
479, 435, 368, 48, 480, 481, 482, 90, 145, 340,
|
||||
370, 371, 49, 312, 771, 816, 486, 487, 483, 484,
|
||||
485, 920, 921, 922, 919, 918, 917, 134, 488, 489,
|
||||
138, 1068, 1069, 1070, 1071, 1065, 1066, 326, 439, 428,
|
||||
621, 35, 502, 1072, 1067, 436, 439, 795, 632,-32766,
|
||||
57, 430, 350, 338, 439, 342, 664, 665, 666, 667,
|
||||
668, 436, 669, 670, 671, 707, 708,-32766,-32766,-32766,
|
||||
-32766,-32766,-32766,-32766,-32766,-32766, 51, 121, 122, 123,
|
||||
124, 125, 126, 127, 128, 129, 130, 131, 132, 233,
|
||||
-32766, 1182,-32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,
|
||||
-32767,-32767,-32767, 252, 253, 254, 622, 218, 672, 436,
|
||||
-32766,-32766,-32766, 898, 114, 115, 116, 950, 952, 255,
|
||||
256, 41, 673, 674, 675, 676, 677, 678, 679, 745,
|
||||
-32766, 730,-32766,-32766,-32766,-32766,-32766,-32766, 680, 681,
|
||||
682, 683, 684, 685, 686, 687, 688, 689, 690, 710,
|
||||
711, 712, 713, 714, 702, 703, 704, 705, 706, 691,
|
||||
692, 693, 694, 695, 696, 697, 724, 725, 726, 727,
|
||||
728, 729, 698, 699, 700, 701, 458, 722, 720, 721,
|
||||
717, 718, 894, 709, 715, 716, 94, 95, 96, -479,
|
||||
337, 117, 118, 119, 300, 319, 1029, 719, 1185,-32766,
|
||||
1187, 1186, 732, 377, 1153, 67, 50, 120, 97, 98,
|
||||
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
|
||||
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
|
||||
119,-32766, 319, 313,-32766,-32766,-32766, 1039, 52,-32766,
|
||||
-32766,-32766, 1011, 452, 120,-32766,-32766,-32766,-32766,-32766,
|
||||
-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767,-32766,
|
||||
324,-32766,-32766,-32766,-32766, 313, 875, 357, 502,-32766,
|
||||
656, 436,-32766,-32766,-32766, 732, 440, 471, 350,-32766,
|
||||
425, 352,-32766,-32766,-32766, 65,-32766, 136,-32766, 315,
|
||||
-32766, 316,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,
|
||||
439,-32766,-32766,-32766, 1157, 139,-32766, 732,-32766,-32766,
|
||||
501,-32766, 298, -197,-32766,-32766,-32766,-32766,-32766, 137,
|
||||
-32766, 22,-32766, 868, 869,-32766,-32766, -251, 551,-32766,
|
||||
-32766,-32766, 439, 749,-32766,-32766, 502, 1011,-32766, 1160,
|
||||
449,-32766, 501, 439, 786, 142,-32766,-32766, 844,-32766,
|
||||
874,-32766, 481, 482, -182, -182, -182,-32766,-32766, 635,
|
||||
314, 771, 816, 486, 487, 261,-32766, 135, -1, 1011,
|
||||
262, 481, 482, 249, 250, 251, 144, 142,-32766,-32766,
|
||||
771, 816, 486, 487, 787, 488, 141,-32767,-32767,-32767,
|
||||
-32767, 112, 113, 114, 115, 116,-32766, 218, 1175,-32766,
|
||||
-32766,-32766, 732, 231, 232, 233,-32766, 133, -182,-32766,
|
||||
-32766,-32766, 147,-32766, 223,-32766, 579,-32766, 893,-32766,
|
||||
-32766,-32766,-32766, 218,-32766,-32766,-32766, 439,-32766,-32766,
|
||||
-32766, 224, 439,-32766, 732, 260,-32766, 501,-32766,-32766,
|
||||
884,-32766,-32766,-32766,-32766,-32766, 1147,-32766, 225,-32766,
|
||||
1011, -198,-32766, 868, 869, 1153,-32766,-32766,-32766, 439,
|
||||
450,-32766,-32766, 146, 343,-32766, 502, 845,-32766, 501,
|
||||
1175, 424, 1118,-32766,-32766, -202,-32766, 336,-32766, 588,
|
||||
653, 481, 482,-32766,-32766,-32766,-32766,-32766, 34, 1011,
|
||||
738, 816, 486, 487, 347,-32766,-32766, 920, 921, 922,
|
||||
919, 918, 917, 912, 445,-32766,-32766, 634, 809,-32766,
|
||||
319, 349, 301,-32766, 302, 732, 398,-32766,-32766,-32766,
|
||||
358, 1074,-32766,-32766,-32766, 325,-32766, 1119,-32766, 350,
|
||||
-32766, 255, 256,-32766, 465, 594, 1074,-32766,-32766,-32766,
|
||||
439, 648,-32766,-32766, 460, 28,-32766, 1113,-32766,-32766,
|
||||
501, 231, 232, 233, 732, 799, 257,-32766,-32766,-32766,
|
||||
120,-32766,-32766,-32766, 60,-32766, 66,-32766, 317,-32766,
|
||||
1011, 218,-32766, 148, 378, 61,-32766,-32766,-32766, 439,
|
||||
62,-32766,-32766, 63, 424,-32766,-32766,-32766,-32766, 501,
|
||||
336,-32766, 59, 311, 481, 482,-32766,-32766,-32766,-32766,
|
||||
481, 482, 69, 738, 816, 486, 487, 601, 602, 771,
|
||||
816, 486, 487, 607, 231, 232, 233,-32766, 733,-32766,
|
||||
-32766,-32766,-32766,-32766, 349,-32766,-32766, 739, 639,-32766,
|
||||
522, 741, 909, 659, 218, 732, 446, 910, 444,-32766,
|
||||
897, 652,-32766,-32766,-32766, 753,-32766, 540,-32766, 1180,
|
||||
-32766, 755, 541,-32766, 527, 523, 543,-32766,-32766,-32766,
|
||||
439,-32766,-32766,-32766, 620, 614,-32766, 732, 448,-32766,
|
||||
501,-32766, 604,-32766,-32766,-32766,-32766,-32766,-32766, 526,
|
||||
-32766, 1032,-32766, 597, 1011,-32766, 1175, 585, 39,-32766,
|
||||
-32766,-32766, 439, 355,-32766,-32766, 356, 297,-32766, 439,
|
||||
443,-32766, 501, -70, 424,-32766,-32766,-32766, 598,-32766,
|
||||
336, 572, 628, 488, 481, 482, 1011, 469, 481, 482,
|
||||
231, 232, 233, 738, 816, 486, 487, 771, 816, 486,
|
||||
487, 348, 643, 817, 351, 818, 481, 482,-32766,-32766,
|
||||
218, 259, 1055,-32766, 349, 771, 816, 486, 487, 732,
|
||||
345, 740, 346,-32766, -479, 1014,-32766,-32766,-32766, -480,
|
||||
-32766, 1112,-32766, 339,-32766, 341, 1073,-32766, 428, 335,
|
||||
-380,-32766,-32766,-32766, 439,-32766,-32766,-32766, 30, 533,
|
||||
-32766, 732, -388,-32766, 501,-32766,-32766, 31,-32766,-32766,
|
||||
-32766,-32766,-32766, 36,-32766, 38,-32766, 1011, -389,-32766,
|
||||
391, 393, 502,-32766,-32766,-32766, 439, 405,-32766,-32766,
|
||||
445,-32766,-32766, 811, 43,-32766, 501, 901,-32766, 828,
|
||||
-32766,-32766, 905,-32766, 481, 482, 640, 54, 743, 1011,
|
||||
481, 482, 903, 771, 816, 486, 487, 481, 482, 771,
|
||||
816, 486, 487, 231, 232, 233, 771, 816, 486, 487,
|
||||
902, 55, 779,-32766, 830, 832,-32766, 774, 742, 40,
|
||||
605, 812, 732, 218, 839, 813,-32766, 1013, 838,-32766,
|
||||
-32766,-32766, 367,-32766, 642,-32766, 798,-32766, 776, 791,
|
||||
-32766, 904, 641, 847,-32766,-32766,-32766, 439,-32766,-32766,
|
||||
-32766,-32766, 785,-32766, 732, 788,-32766, 501,-32766, 797,
|
||||
784,-32766,-32766,-32766,-32766,-32766, 782,-32766, 780,-32766,
|
||||
790, 814,-32766, 645, 646, 651,-32766,-32766,-32766, 439,
|
||||
654,-32766,-32766, 638, 633,-32766, 655, 93,-32766, 501,
|
||||
-183, -183, -183, 781,-32766, 657,-32766, 658, 140, 990,
|
||||
481, 482, 836, 815, 837, 1183, 464, 481, 482, 771,
|
||||
816, 486, 487, 1181, 1154, 1152, 771, 816, 486, 487,
|
||||
1138,-32766, 1150, 1053, 886, 783,-32766, 732, 748, 1158,
|
||||
1025,-32766, 1148, 1184,-32766,-32766,-32766, 803,-32766,-32766,
|
||||
-32766, 258,-32766, 44, -183,-32766, 1132, 427, 422,-32766,
|
||||
-32766,-32766, 439, 353,-32766,-32766, 323, 322,-32766, 226,
|
||||
227,-32766, 501, 321, 320, 228, 308, 229, 307,-32766,
|
||||
299, 221, 92, -193, -193, -193, 611, 91, 58, 220,
|
||||
-191, -191, -191, 53, 226, 227, 573, 1062, 1063, -199,
|
||||
228,-32766, 229, 1015, 1078, 1064, 481, 482,-32766,-32766,
|
||||
876, 1019, 1079, 1016, 220, 771, 816, 486, 487, 626,
|
||||
564, 472, 1062, 1063, 481, 482,-32766, 468, 466, 991,
|
||||
1064, 481, 482, 771, 816, 486, 487, 481, 482, 461,
|
||||
771, 816, 486, 487, 399, 1009, 771, 816, 486, 487,
|
||||
25, 24, 569, 23, 1068, 1069, 1070, 1071, 1065, 1066,
|
||||
404, -198, 1179, 1052, 0, 1149, 1072, 1067, 1133, 1137,
|
||||
1151, 1038, 1023, 230, 805,-32766, 1024, 569, 1021, 1068,
|
||||
1069, 1070, 1071, 1065, 1066, 404, 619, 1022, 1020, 0,
|
||||
0, 1072, 1067, 481, 482, 0, 0, 0, 230, 0,
|
||||
-32766, 0, 771, 816, 486, 487, 0, 0, 481, 482,
|
||||
0, 0, 0, 0, 0, 0, 0, 771, 816, 486,
|
||||
487, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
772
|
||||
);
|
||||
|
||||
protected $actionCheck = array(
|
||||
1, 2, 3, 4, 5, 6, 30, 31, 32, 33,
|
||||
11, 12, 13, 30, 31, 32, 33, 34, 35, 36,
|
||||
37, 38, 7, 40, 41, 42, 43, 44, 45, 46,
|
||||
47, 48, 49, 50, 51, 30, 31, 32, 33, 34,
|
||||
35, 36, 37, 38, 0, 46, 47, 66, 65, 66,
|
||||
28, 52, 7, 54, 55, 56, 57, 58, 59, 60,
|
||||
61, 62, 63, 64, 7, 66, 67, 68, 69, 70,
|
||||
8, 9, 10, 74, 75, 76, 73, 78, 28, 80,
|
||||
66, 82, 83, 84, 85, 7, 87, 28, 89, 27,
|
||||
91, 29, 30, 94, 8, 9, 10, 98, 99, 100,
|
||||
101, 146, 103, 104, 149, 78, 107, 149, 127, 110,
|
||||
111, 153, 7, 27, 28, 112, 113, 118, 119, 120,
|
||||
8, 9, 10, 101, 121, 122, 123, 124, 129, 130,
|
||||
149, 132, 133, 134, 135, 136, 137, 138, 7, 27,
|
||||
7, 127, 143, 144, 145, 146, 66, 148, 149, 7,
|
||||
151, 7, 153, 154, 7, 156, 2, 3, 4, 5,
|
||||
6, 8, 8, 9, 10, 11, 12, 140, 141, 14,
|
||||
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
|
||||
25, 26, 30, 31, 32, 33, 34, 35, 36, 37,
|
||||
38, 102, 40, 41, 42, 43, 76, 108, 148, 7,
|
||||
111, 112, 113, 114, 115, 116, 117, 53, 149, 152,
|
||||
55, 56, 40, 41, 42, 43, 44, 45, 46, 47,
|
||||
48, 67, 68, 69, 70, 71, 72, 73, 150, 149,
|
||||
76, 111, 112, 113, 114, 115, 116, 83, 84, 85,
|
||||
1, 2, 3, 4, 5, 6, 31, 32, 33, 34,
|
||||
11, 12, 0, 14, 31, 32, 33, 34, 35, 36,
|
||||
37, 38, 39, 79, 41, 42, 43, 44, 45, 46,
|
||||
47, 48, 49, 50, 51, 52, 31, 32, 33, 34,
|
||||
35, 36, 37, 38, 39, 67, 47, 48, 67, 66,
|
||||
67, 79, 53, 7, 55, 56, 57, 58, 59, 60,
|
||||
61, 62, 63, 64, 65, 29, 67, 68, 69, 70,
|
||||
71, 9, 10, 29, 75, 76, 77, 7, 79, 87,
|
||||
81, 29, 83, 84, 85, 86, 77, 88, 7, 90,
|
||||
28, 92, 77, 149, 95, 102, 103, 153, 99, 100,
|
||||
101, 102, 7, 104, 105, 113, 114, 108, 67, 128,
|
||||
111, 112, 140, 141, 122, 123, 124, 125, 119, 120,
|
||||
121, 112, 113, 114, 115, 116, 117, 149, 129, 130,
|
||||
149, 132, 133, 134, 135, 136, 137, 138, 102, 146,
|
||||
77, 7, 143, 144, 145, 146, 102, 148, 149, 8,
|
||||
151, 7, 153, 154, 102, 156, 2, 3, 4, 5,
|
||||
6, 146, 8, 9, 10, 11, 12, 8, 9, 10,
|
||||
8, 9, 10, 31, 32, 33, 15, 16, 17, 18,
|
||||
19, 20, 21, 22, 23, 24, 25, 26, 27, 10,
|
||||
28, 150, 30, 31, 32, 33, 34, 35, 36, 37,
|
||||
38, 39, 40, 50, 51, 52, 143, 28, 54, 146,
|
||||
8, 9, 10, 150, 47, 48, 49, 56, 57, 66,
|
||||
67, 7, 68, 69, 70, 71, 72, 73, 74, 148,
|
||||
28, 77, 30, 31, 32, 33, 34, 35, 84, 85,
|
||||
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
|
||||
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
|
||||
106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
|
||||
116, 117, 118, 119, 120, 14, 122, 123, 124, 125,
|
||||
126, 148, 127, 129, 130, 131, 8, 9, 10, 8,
|
||||
9, 10, 112, 113, 46, 47, 48, 143, 7, 1,
|
||||
14, 121, 122, 123, 124, 27, 7, 29, 30, 31,
|
||||
116, 117, 118, 119, 120, 121, 7, 123, 124, 125,
|
||||
126, 127, 148, 129, 130, 131, 8, 9, 10, 128,
|
||||
7, 50, 51, 52, 7, 54, 152, 143, 77, 1,
|
||||
79, 80, 77, 7, 79, 67, 28, 66, 30, 31,
|
||||
32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
|
||||
42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
|
||||
150, 53, 34, 8, 9, 10, 78, 49, 50, 51,
|
||||
76, 53, 78, 65, 152, 101, 102, 14, 8, 9,
|
||||
10, 7, 27, 65, 29, 30, 31, 32, 33, 34,
|
||||
35, 36, 37, 38, 39, 7, 66, 27, 70, 29,
|
||||
30, 31, 32, 1, 76, 111, 9, 10, 80, 34,
|
||||
128, 83, 84, 85, 12, 87, 27, 89, 14, 91,
|
||||
146, 7, 94, 78, 27, 76, 98, 99, 100, 101,
|
||||
30, 103, 104, 14, 152, 107, 34, 143, 110, 111,
|
||||
146, 153, 95, 96, 97, 151, 118, 153, 8, 9,
|
||||
10, 66, 112, 113, 76, 1, 78, 79, 7, 112,
|
||||
113, 121, 122, 123, 124, 28, 12, 27, 121, 122,
|
||||
123, 124, 70, 152, 76, 147, 148, 149, 76, 149,
|
||||
152, 152, 80, 66, 78, 83, 84, 85, 34, 87,
|
||||
150, 89, 143, 91, 149, 146, 94, 150, 153, 150,
|
||||
98, 99, 100, 101, 129, 103, 104, 1, 102, 107,
|
||||
8, 9, 110, 111, 108, 49, 50, 51, 12, 78,
|
||||
118, 78, 148, 117, 70, 28, 81, 71, 72, 73,
|
||||
76, 65, 66, 14, 80, 150, 148, 83, 84, 85,
|
||||
34, 87, 14, 89, 146, 91, 130, 131, 94, 147,
|
||||
148, 149, 98, 99, 100, 101, 34, 103, 104, 143,
|
||||
1, 107, 148, 81, 110, 111, 149, 28, 112, 113,
|
||||
28, 12, 118, 8, 9, 10, 70, 121, 122, 123,
|
||||
124, 65, 76, 30, 31, 32, 80, 28, 28, 83,
|
||||
84, 85, 27, 87, 153, 89, 153, 91, 101, 148,
|
||||
94, 156, 148, 149, 98, 99, 100, 101, 10, 103,
|
||||
104, 28, 1, 107, 130, 131, 110, 111, 8, 9,
|
||||
10, 139, 122, 12, 118, 27, 53, 143, 28, 70,
|
||||
76, 81, 71, 72, 73, 76, 152, 27, 66, 80,
|
||||
101, 66, 83, 84, 85, 34, 87, 28, 89, 67,
|
||||
91, 151, 28, 94, 148, 149, 66, 98, 99, 100,
|
||||
101, 101, 103, 104, 1, 81, 107, 30, 31, 110,
|
||||
111, 65, 66, 112, 113, 12, 73, 118, 46, 47,
|
||||
48, 70, 121, 122, 123, 124, 66, 76, 66, 139,
|
||||
76, 80, 71, 72, 83, 84, 85, 81, 87, 86,
|
||||
89, 101, 91, 149, 76, 94, 66, 148, 149, 98,
|
||||
99, 100, 101, 66, 103, 104, 1, 76, 107, 76,
|
||||
155, 110, 111, 139, 76, 112, 113, 96, 97, 118,
|
||||
71, 72, 78, 70, 121, 122, 123, 124, 128, 76,
|
||||
77, 105, 106, 80, 88, 76, 83, 84, 85, 76,
|
||||
87, 76, 89, 76, 91, 148, 149, 94, 76, 148,
|
||||
149, 98, 99, 100, 101, 76, 103, 104, 112, 113,
|
||||
107, 78, 1, 110, 111, 148, 149, 121, 122, 123,
|
||||
124, 118, 78, 12, 78, 70, 148, 149, 8, 9,
|
||||
10, 76, 78, 81, 81, 80, 85, 95, 83, 84,
|
||||
85, 93, 87, 93, 89, 108, 91, 27, 101, 94,
|
||||
93, 148, 149, 98, 99, 100, 101, 93, 103, 104,
|
||||
93, 95, 107, 101, 1, 110, 111, 109, 112, 113,
|
||||
101, 122, 127, 118, 139, 12, 142, 121, 122, 123,
|
||||
124, 70, 30, 31, 32, 33, 34, 76, 125, 128,
|
||||
122, 80, 127, 150, 83, 84, 85, 125, 87, 126,
|
||||
89, 127, 91, 148, 149, 94, 150, 152, 127, 98,
|
||||
99, 100, 101, 128, 103, 104, 1, 129, 107, 142,
|
||||
142, 110, 111, 143, 142, 142, 142, 12, 142, 118,
|
||||
151, 142, -1, 70, 147, -1, 146, 146, 146, 76,
|
||||
146, 146, 146, 80, 151, 148, 83, 84, 85, 148,
|
||||
87, 148, 89, 148, 91, 90, 148, 94, 148, 148,
|
||||
149, 98, 99, 100, 101, 148, 103, 104, 1, 148,
|
||||
107, 148, 152, 110, 111, 148, 148, 112, 113, 12,
|
||||
148, 118, 148, 148, 148, 70, 121, 122, 123, 124,
|
||||
148, 76, 148, 148, 148, 80, 148, 148, 83, 84,
|
||||
85, 148, 87, 148, 89, 148, 91, 148, 148, 94,
|
||||
92, 148, 149, 98, 99, 100, 101, 148, 103, 104,
|
||||
1, 148, 107, 149, 149, 110, 111, 149, 149, 149,
|
||||
112, 113, 149, 118, 149, 149, 149, 70, 149, 121,
|
||||
122, 123, 124, 76, 149, 149, 149, 80, 149, 151,
|
||||
83, 84, 85, 150, 87, 150, 89, 150, 91, 150,
|
||||
150, 94, 150, 148, 149, 98, 99, 100, 101, 150,
|
||||
103, 104, 150, 150, 107, 150, 150, 110, 111, 150,
|
||||
150, 150, 150, 150, 0, 118, 150, 150, 154, 70,
|
||||
151, 151, 151, 151, 151, 76, 151, 151, 151, 80,
|
||||
151, 151, 83, 84, 85, 151, 87, 151, 89, 28,
|
||||
91, 151, 151, 94, 151, 148, 149, 98, 99, 100,
|
||||
101, 151, 103, 104, 152, 152, 107, 46, 47, 110,
|
||||
111, 152, 152, 52, 152, 54, 152, 118, 152, 152,
|
||||
152, 152, 152, 152, 152, 152, 152, 66, 95, 96,
|
||||
97, 152, 46, 47, 152, 74, 75, 152, 52, 78,
|
||||
54, 152, 152, 82, -1, 112, 113, 148, 149, 155,
|
||||
155, 155, 66, 155, 121, 122, 123, 124, 155, 155,
|
||||
74, 75, 155, 155, 78, 155, 102, 155, 82, 155,
|
||||
112, 113, 108, 155, 155, 155, 112, 113, 155, 121,
|
||||
122, 123, 124, 150, -1, 121, 122, 123, 124, -1,
|
||||
-1, 130, -1, 132, 133, 134, 135, 136, 137, 138,
|
||||
-1, -1, -1, -1, -1, 144, 145, 143, 150, -1,
|
||||
-1, -1, 151, -1, 153, -1, 130, -1, 132, 133,
|
||||
134, 135, 136, 137, 138, 8, 9, 10, -1, -1,
|
||||
144, 145, 102, -1, -1, -1, -1, 151, 108, 153,
|
||||
-1, -1, 112, 113, 27, -1, 29, 30, 31, 102,
|
||||
-1, 121, 122, 123, 124, 108, -1, -1, -1, 112,
|
||||
113, -1, 8, 9, 10, -1, -1, -1, 121, 122,
|
||||
123, 124, -1, 143, -1, -1, -1, 8, 9, 10,
|
||||
150, 27, -1, 29, 30, 31, 32, 33, 34, -1,
|
||||
143, -1, -1, -1, 112, 113, 27, 150, 29, 30,
|
||||
31, 32, 33, 121, 122, 123, 124, 112, 113, -1,
|
||||
-1, 112, 113, -1, -1, -1, 121, 122, 123, 124,
|
||||
121, 122, 123, 124, 112, 113, -1, -1, -1, -1,
|
||||
-1, -1, 150, 121, 122, 123, 124, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, 150, -1, -1, -1, 150,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, 150
|
||||
52, 1, 54, 35, 8, 9, 10, 112, 13, 8,
|
||||
9, 10, 12, 7, 66, 31, 32, 33, 34, 35,
|
||||
36, 37, 38, 39, 28, 41, 42, 43, 44, 28,
|
||||
7, 30, 31, 32, 33, 35, 152, 67, 143, 71,
|
||||
29, 146, 8, 9, 10, 77, 151, 7, 153, 81,
|
||||
123, 7, 84, 85, 86, 67, 88, 149, 90, 7,
|
||||
92, 35, 28, 95, 30, 31, 32, 99, 100, 101,
|
||||
102, 71, 104, 105, 77, 7, 108, 77, 151, 111,
|
||||
112, 81, 13, 74, 84, 85, 86, 119, 88, 13,
|
||||
90, 152, 92, 130, 131, 95, 1, 79, 128, 99,
|
||||
100, 101, 102, 150, 104, 105, 143, 12, 108, 152,
|
||||
29, 111, 112, 102, 148, 147, 148, 149, 29, 119,
|
||||
152, 103, 113, 114, 96, 97, 98, 109, 1, 29,
|
||||
35, 122, 123, 124, 125, 15, 118, 149, 0, 12,
|
||||
15, 113, 114, 47, 48, 49, 149, 147, 148, 149,
|
||||
122, 123, 124, 125, 148, 129, 29, 41, 42, 43,
|
||||
44, 45, 46, 47, 48, 49, 71, 28, 82, 8,
|
||||
9, 10, 77, 8, 9, 10, 81, 15, 150, 84,
|
||||
85, 86, 149, 88, 15, 90, 153, 92, 148, 28,
|
||||
95, 30, 31, 28, 99, 100, 101, 102, 71, 104,
|
||||
105, 15, 102, 108, 77, 15, 111, 112, 81, 1,
|
||||
79, 84, 85, 86, 119, 88, 79, 90, 15, 92,
|
||||
12, 152, 95, 130, 131, 79, 99, 100, 101, 102,
|
||||
149, 104, 105, 29, 82, 108, 143, 148, 111, 112,
|
||||
82, 103, 156, 148, 149, 152, 119, 109, 1, 82,
|
||||
29, 113, 114, 31, 32, 33, 34, 35, 103, 12,
|
||||
122, 123, 124, 125, 109, 31, 32, 112, 113, 114,
|
||||
115, 116, 117, 118, 146, 148, 149, 149, 35, 71,
|
||||
54, 143, 35, 31, 153, 77, 78, 8, 9, 81,
|
||||
153, 139, 84, 85, 86, 29, 88, 139, 90, 153,
|
||||
92, 66, 67, 95, 72, 73, 139, 99, 100, 101,
|
||||
102, 29, 104, 105, 72, 73, 108, 152, 71, 111,
|
||||
112, 8, 9, 10, 77, 29, 13, 119, 81, 1,
|
||||
66, 84, 85, 86, 67, 88, 67, 90, 68, 92,
|
||||
12, 28, 95, 97, 98, 67, 99, 100, 101, 102,
|
||||
67, 104, 105, 67, 103, 108, 148, 149, 111, 112,
|
||||
109, 1, 67, 35, 113, 114, 119, 8, 9, 10,
|
||||
113, 114, 67, 122, 123, 124, 125, 106, 107, 122,
|
||||
123, 124, 125, 74, 8, 9, 10, 28, 77, 30,
|
||||
31, 32, 33, 34, 143, 148, 149, 148, 149, 71,
|
||||
77, 150, 148, 149, 28, 77, 77, 150, 77, 81,
|
||||
148, 149, 84, 85, 86, 77, 88, 77, 90, 77,
|
||||
92, 77, 77, 95, 77, 77, 94, 99, 100, 101,
|
||||
102, 71, 104, 105, 79, 79, 108, 77, 86, 111,
|
||||
112, 81, 79, 1, 84, 85, 86, 119, 88, 79,
|
||||
90, 79, 92, 96, 12, 95, 82, 96, 94, 99,
|
||||
100, 101, 102, 82, 104, 105, 82, 94, 108, 102,
|
||||
102, 111, 112, 94, 103, 1, 148, 149, 109, 119,
|
||||
109, 94, 89, 129, 113, 114, 12, 102, 113, 114,
|
||||
8, 9, 10, 122, 123, 124, 125, 122, 123, 124,
|
||||
125, 110, 149, 123, 126, 123, 113, 114, 148, 149,
|
||||
28, 29, 152, 71, 143, 122, 123, 124, 125, 77,
|
||||
126, 150, 127, 81, 128, 150, 84, 85, 86, 128,
|
||||
88, 155, 90, 128, 92, 128, 139, 95, 146, 149,
|
||||
142, 99, 100, 101, 102, 71, 104, 105, 142, 146,
|
||||
108, 77, 142, 111, 112, 81, 1, 142, 84, 85,
|
||||
86, 119, 88, 142, 90, 142, 92, 12, 142, 95,
|
||||
142, 146, 143, 99, 100, 101, 102, 146, 104, 105,
|
||||
146, 146, 108, 147, 151, 111, 112, 148, 1, 148,
|
||||
148, 149, 148, 119, 113, 114, 148, 148, 148, 12,
|
||||
113, 114, 148, 122, 123, 124, 125, 113, 114, 122,
|
||||
123, 124, 125, 8, 9, 10, 122, 123, 124, 125,
|
||||
148, 148, 148, 149, 148, 148, 71, 148, 148, 151,
|
||||
155, 150, 77, 28, 148, 150, 81, 150, 148, 84,
|
||||
85, 86, 149, 88, 150, 90, 148, 92, 148, 148,
|
||||
95, 148, 148, 148, 99, 100, 101, 102, 71, 104,
|
||||
105, 1, 148, 108, 77, 148, 111, 112, 81, 148,
|
||||
148, 84, 85, 86, 119, 88, 148, 90, 148, 92,
|
||||
148, 150, 95, 149, 149, 149, 99, 100, 101, 102,
|
||||
149, 104, 105, 149, 149, 108, 149, 149, 111, 112,
|
||||
96, 97, 98, 148, 149, 149, 119, 149, 149, 152,
|
||||
113, 114, 150, 150, 150, 150, 150, 113, 114, 122,
|
||||
123, 124, 125, 150, 150, 150, 122, 123, 124, 125,
|
||||
150, 71, 150, 150, 150, 148, 149, 77, 150, 150,
|
||||
150, 81, 150, 150, 84, 85, 86, 150, 88, 151,
|
||||
90, 29, 92, 151, 150, 95, 155, 151, 151, 99,
|
||||
100, 101, 102, 151, 104, 105, 151, 151, 108, 47,
|
||||
48, 111, 112, 151, 151, 53, 151, 55, 151, 119,
|
||||
151, 151, 151, 72, 73, 74, 93, 151, 151, 67,
|
||||
72, 73, 74, 151, 47, 48, 152, 75, 76, 152,
|
||||
53, 79, 55, 152, 152, 83, 113, 114, 148, 149,
|
||||
152, 152, 155, 152, 67, 122, 123, 124, 125, 152,
|
||||
152, 152, 75, 76, 113, 114, 79, 152, 152, 152,
|
||||
83, 113, 114, 122, 123, 124, 125, 113, 114, 152,
|
||||
122, 123, 124, 125, 152, 154, 122, 123, 124, 125,
|
||||
152, 152, 130, 152, 132, 133, 134, 135, 136, 137,
|
||||
138, 152, 155, 155, -1, 155, 144, 145, 155, 155,
|
||||
155, 155, 155, 151, 150, 153, 155, 130, 155, 132,
|
||||
133, 134, 135, 136, 137, 138, 91, 155, 155, -1,
|
||||
-1, 144, 145, 113, 114, -1, -1, -1, 151, -1,
|
||||
153, -1, 122, 123, 124, 125, -1, -1, 113, 114,
|
||||
-1, -1, -1, -1, -1, -1, -1, 122, 123, 124,
|
||||
125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
150
|
||||
);
|
||||
|
||||
protected $actionBase = array(
|
||||
0, 317, 983, 1014, 1080, 426, 1097, 531, 1008, 686,
|
||||
583, 848, 3, 795, 1132, 1145, 1149, 626, 1162, 310,
|
||||
180, 570, 467, 22, 530, 22, 509, 699, 699, 699,
|
||||
315, 315, 319, 772, 154, 154, 154, 154, 154, 120,
|
||||
298, 372, 424, 424, 685, 424, 793, 741, 845, 633,
|
||||
529, 581, 476, 897, 897, 897, 897, 949, 949, 897,
|
||||
897, 897, 897, 897, 897, 897, 897, 897, 897, 897,
|
||||
897, 897, 897, 897, 897, 897, 897, 897, 897, 897,
|
||||
897, 897, 897, 897, 897, 897, 897, 897, 897, 897,
|
||||
897, 897, 897, 897, 897, 897, 897, 897, 897, 897,
|
||||
897, 897, 897, 897, 897, 897, 897, 897, 897, 897,
|
||||
897, 897, 897, 897, 897, 897, 897, 897, 897, 897,
|
||||
897, 897, 897, 897, 897, 897, 897, 897, 897, 897,
|
||||
897, 897, 897, 897, 897, 897, 897, 897, 897, 897,
|
||||
897, 897, 897, 897, 897, 897, 897, 897, 897, 50,
|
||||
787, 715, 691, 783, 779, 778, 776, 902, 694, 909,
|
||||
849, 842, 594, 840, 839, 837, 835, 833, 852, 673,
|
||||
944, 867, 278, 278, 278, 278, 278, 278, 278, 278,
|
||||
278, 278, 278, 153, 580, 750, 86, 535, 472, 112,
|
||||
112, 112, 112, 112, 112, 112, 281, 281, 281, 281,
|
||||
281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
|
||||
281, 281, 281, 367, 410, 410, 410, 568, 1011, 359,
|
||||
1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036,
|
||||
1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036,
|
||||
1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036,
|
||||
1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036,
|
||||
1036, 1036, 1036, 62, -17, -17, 1167, 370, 340, 607,
|
||||
1219, 523, 1204, 325, 325, 325, 325, 325, -24, 782,
|
||||
5, 5, 5, 5, 155, 172, 172, 172, 172, 152,
|
||||
152, 152, 152, 856, 859, 860, 862, 345, 345, 718,
|
||||
718, 552, 817, 248, 248, 602, 602, 264, 264, 264,
|
||||
264, 264, 264, 264, 264, 264, 264, 470, 376, 891,
|
||||
454, 454, 454, 454, 386, 386, 520, 554, 415, 288,
|
||||
288, 288, 436, 436, 436, 244, 244, 244, 682, 524,
|
||||
524, 524, 586, 665, 683, 710, 710, 710, 710, -45,
|
||||
809, 710, 710, 710, 387, 27, 27, 348, -42, 696,
|
||||
863, 672, 866, 608, 664, -19, 725, 725, 725, 725,
|
||||
413, 677, 591, 629, 606, 708, 59, 413, 50, 597,
|
||||
80, 543, 785, 647, 358, 733, 133, 384, 14, 577,
|
||||
300, 258, 57, 816, 731, 910, 923, 291, 355, 695,
|
||||
543, 543, 543, 299, 452, 815, 300, 252, 576, 576,
|
||||
576, 576, 78, 576, 576, 576, 576, 861, 421, 344,
|
||||
192, 735, 492, 869, 618, 723, 723, 643, 726, 674,
|
||||
492, 893, 893, 893, 893, 492, 726, 723, 723, 492,
|
||||
552, 723, 131, 492, 693, 726, 702, 702, 893, 799,
|
||||
803, 618, 676, 703, 723, 723, 723, 703, 643, 492,
|
||||
893, 667, 717, 147, 723, 893, 589, 589, 667, 492,
|
||||
589, 674, 589, 44, 407, 590, 900, 709, 870, 584,
|
||||
810, 698, 679, 880, 879, 890, 639, 598, 884, 828,
|
||||
724, 775, 611, 374, 560, 610, 592, 545, 716, 542,
|
||||
711, 677, 722, 486, 486, 486, 704, 714, 704, 486,
|
||||
486, 486, 486, 486, 486, 486, 486, 973, 707, 712,
|
||||
675, 681, 774, 286, 720, 697, 261, 829, 724, 724,
|
||||
917, 929, 864, 613, 877, 919, 704, 970, 789, 105,
|
||||
389, 876, 680, 645, 721, 704, 875, 704, 819, 704,
|
||||
916, 652, 855, 724, 486, 914, 969, 968, 964, 962,
|
||||
960, 958, 957, 954, 617, 953, 738, 924, 144, 886,
|
||||
708, 719, 659, 727, 142, 948, 704, 704, 825, 809,
|
||||
704, 827, 740, 790, 939, 747, 922, 946, 665, 921,
|
||||
704, 692, 945, 142, 553, 573, 903, 766, 871, 663,
|
||||
912, 872, 826, 498, 489, 853, 512, 765, 935, 932,
|
||||
940, 764, 813, 808, 333, 684, 624, 805, 873, 762,
|
||||
918, 687, 722, 713, 688, 678, 804, 920, 758, 757,
|
||||
753, 751, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 934, 358, 468, 581, 1048, 701, 1041, 1110, 824,
|
||||
-8, 1023, 339, 1125, 1054, 811, 817, 723, 705, 927,
|
||||
587, 36, 44, 52, 341, 52, 430, 697, 697, 697,
|
||||
-56, -56, 63, 784, 154, 154, 154, 154, 154, 9,
|
||||
298, 330, 658, 658, 690, 658, 804, 885, 917, 538,
|
||||
457, 577, 425, 772, 772, 772, 772, 990, 990, 772,
|
||||
772, 772, 772, 772, 772, 772, 772, 772, 772, 772,
|
||||
772, 772, 772, 772, 772, 772, 772, 772, 772, 772,
|
||||
772, 772, 772, 772, 772, 772, 772, 772, 772, 772,
|
||||
772, 772, 772, 772, 772, 772, 772, 772, 772, 772,
|
||||
772, 772, 772, 772, 772, 772, 772, 772, 772, 772,
|
||||
772, 772, 772, 772, 772, 772, 772, 772, 772, 772,
|
||||
772, 772, 772, 772, 772, 772, 772, 772, 772, 772,
|
||||
772, 772, 772, 772, 772, 772, 772, 772, 772, 772,
|
||||
772, 772, 772, 772, 772, 772, 772, 772, 772, 419,
|
||||
862, 406, 325, 860, 858, 852, 851, 981, 703, 1007,
|
||||
903, 904, 534, 905, 910, 912, 913, 914, 896, 919,
|
||||
805, 922, 278, 278, 278, 278, 278, 278, 278, 278,
|
||||
278, 278, 278, 141, 643, 495, 812, 706, 609, 935,
|
||||
935, 935, 935, 935, 935, 935, 159, 159, 159, 159,
|
||||
159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
|
||||
159, 159, 159, 62, 326, 326, 326, 179, 1052, 469,
|
||||
1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077,
|
||||
1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077,
|
||||
1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077,
|
||||
1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077,
|
||||
1077, 1077, 1077, 491, -17, -17, 364, 582, 331, 564,
|
||||
689, 142, 202, 162, 162, 162, 162, 162, -25, 552,
|
||||
5, 5, 5, 5, 161, 446, 446, 446, 446, 314,
|
||||
314, 314, 314, 893, 861, 815, 920, 356, 356, 684,
|
||||
684, 600, 889, 167, 167, 426, 426, 225, 225, 225,
|
||||
225, 225, 225, 225, 225, 225, 225, 257, 348, 928,
|
||||
423, 423, 423, 423, 293, 293, 482, 488, 416, 241,
|
||||
241, 241, 153, 153, 153, -7, -7, -7, 711, 327,
|
||||
327, 327, 714, 727, 704, 759, 759, 759, 759, 458,
|
||||
878, 759, 759, 759, 318, -28, -28, 221, 363, 691,
|
||||
892, 687, 894, 592, 756, -19, 722, 722, 722, 722,
|
||||
461, 698, 572, 562, 601, 728, 411, 461, 419, 584,
|
||||
238, 556, 847, 675, 81, 810, 296, 336, 300, 579,
|
||||
-22, 467, 269, 720, 780, 974, 887, 287, 41, 731,
|
||||
556, 556, 556, 214, 497, 823, -22, 399, 565, 565,
|
||||
565, 565, 283, 565, 565, 565, 565, 918, 134, 370,
|
||||
144, 769, 573, 932, 678, 808, 808, 670, 765, 693,
|
||||
573, 967, 967, 967, 967, 573, 765, 808, 808, 573,
|
||||
600, 808, 70, 573, 724, 765, 708, 708, 967, 778,
|
||||
834, 678, 700, 725, 808, 808, 808, 725, 670, 573,
|
||||
967, 699, 766, 46, 808, 967, 596, 596, 699, 573,
|
||||
596, 693, 596, 12, 626, 625, 972, 966, 936, 653,
|
||||
875, 710, 712, 957, 955, 961, 677, 661, 959, 763,
|
||||
733, 844, 659, 492, 597, 608, 613, 616, 736, 599,
|
||||
735, 698, 764, 594, 594, 594, 726, 745, 726, 594,
|
||||
594, 594, 594, 594, 594, 594, 594, 1063, 758, 740,
|
||||
737, 682, 828, 499, 755, 662, 516, 874, 733, 733,
|
||||
991, 1022, 1021, 641, 953, 998, 726, 1062, 779, 398,
|
||||
533, 952, 717, 668, 761, 726, 946, 726, 683, 726,
|
||||
989, 672, 923, 733, 594, 988, 1053, 1051, 1047, 1046,
|
||||
1045, 1044, 1043, 1040, 635, 1038, 830, 1017, 353, 960,
|
||||
728, 751, 674, 831, 374, 1037, 726, 726, 864, 878,
|
||||
726, 865, 835, 803, 1031, 820, 1006, 987, 727, 1005,
|
||||
726, 715, 931, 374, 612, 639, 977, 816, 937, 686,
|
||||
982, 942, 866, 520, 450, 895, 551, 809, 1029, 1028,
|
||||
1039, 807, 871, 877, 455, 702, 685, 886, 945, 806,
|
||||
997, 709, 764, 753, 721, 694, 888, 999, 771, 833,
|
||||
774, 802, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
@ -727,30 +717,30 @@ class Php5 extends \PhpParser\ParserAbstract
|
||||
0, 0, 0, 278, -17, -17, -17, -17, 278, -17,
|
||||
-17, -17, -17, -17, -17, -17, 278, 278, 278, 278,
|
||||
278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
|
||||
278, 278, 278, -17, 278, 278, 278, -17, 264, -17,
|
||||
264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
|
||||
264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
|
||||
264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
|
||||
264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
|
||||
264, 264, 264, 278, 0, 0, 278, -17, 278, -17,
|
||||
278, 278, 278, -17, 278, 278, 278, -17, 225, -17,
|
||||
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
|
||||
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
|
||||
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
|
||||
225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
|
||||
225, 225, 225, 278, 0, 0, 278, -17, 278, -17,
|
||||
278, -17, 278, 278, 278, 278, 278, 278, -17, -17,
|
||||
-17, -17, -17, -17, 0, 288, 288, 288, 288, -17,
|
||||
-17, -17, -17, 89, 89, 89, 89, 264, 264, 264,
|
||||
264, 264, 264, 288, 288, 436, 436, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 264, 89, 264,
|
||||
368, 368, 368, 368, 368, 368, 27, 27, 27, 0,
|
||||
0, 0, 0, 0, 0, 368, 368, 368, 27, 411,
|
||||
411, 411, 27, 27, 27, 368, 368, 368, 368, 368,
|
||||
411, 368, 368, 368, 723, 0, 0, 0, 411, 601,
|
||||
601, 601, 601, 142, 300, 0, 368, 368, 368, 368,
|
||||
0, 676, 0, 0, 0, 723, 0, 0, 0, 0,
|
||||
0, 486, 105, 877, 0, 15, 0, 0, 0, 0,
|
||||
0, 0, 0, 613, 15, 45, 45, 0, 0, 617,
|
||||
486, 486, 486, 0, 0, 613, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 15, 0, 0,
|
||||
0, 142, 0, 0, 0, 0, 0, 0, 368, 0,
|
||||
0, 0, 0, 0, 0, 0, 368, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 368
|
||||
-17, -17, -17, -17, 0, 241, 241, 241, 241, -17,
|
||||
-17, -17, -17, 485, 485, 485, 485, 225, 225, 225,
|
||||
225, 225, 225, 241, 241, 153, 153, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 225, 485, 225,
|
||||
15, 15, 15, 15, 15, 15, -28, -28, -28, 0,
|
||||
0, 0, 0, 0, 0, 15, 15, 15, -28, 476,
|
||||
476, 476, -28, -28, -28, 15, 15, 15, 15, 15,
|
||||
476, 15, 15, 15, 808, 0, 0, 0, 476, 576,
|
||||
576, 576, 576, 374, -22, 0, 15, 15, 15, 15,
|
||||
0, 700, 0, 0, 0, 808, 0, 0, 0, 0,
|
||||
0, 594, 398, 953, 0, 95, 0, 0, 0, 0,
|
||||
0, 0, 0, 641, 95, 382, 382, 0, 0, 635,
|
||||
594, 594, 594, 0, 0, 641, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 95, 0, 0,
|
||||
0, 374, 0, 0, 0, 0, 0, 0, 15, 0,
|
||||
0, 0, 0, 0, 0, 0, 15, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 15
|
||||
);
|
||||
|
||||
protected $actionDefault = array(
|
||||
|
File diff suppressed because it is too large
Load Diff
230
test/code/parser/stmt/generator/yieldPrecedence.test
Normal file
230
test/code/parser/stmt/generator/yieldPrecedence.test
Normal file
@ -0,0 +1,230 @@
|
||||
Yield operator precedence
|
||||
-----
|
||||
<?php
|
||||
|
||||
function gen() {
|
||||
yield "a" . "b";
|
||||
yield "a" or die;
|
||||
yield "k" => "a" . "b";
|
||||
yield "k" => "a" or die;
|
||||
var_dump([yield "k" => "a" . "b"]);
|
||||
yield yield "k1" => yield "k2" => "a" . "b";
|
||||
yield yield "k1" => (yield "k2") => "a" . "b";
|
||||
var_dump([yield "k1" => yield "k2" => "a" . "b"]);
|
||||
var_dump([yield "k1" => (yield "k2") => "a" . "b"]);
|
||||
}
|
||||
-----
|
||||
!!php7
|
||||
array(
|
||||
0: Stmt_Function(
|
||||
byRef: false
|
||||
name: gen
|
||||
params: array(
|
||||
)
|
||||
returnType: null
|
||||
stmts: array(
|
||||
0: Expr_Yield(
|
||||
key: null
|
||||
value: Expr_BinaryOp_Concat(
|
||||
left: Scalar_String(
|
||||
value: a
|
||||
)
|
||||
right: Scalar_String(
|
||||
value: b
|
||||
)
|
||||
)
|
||||
)
|
||||
1: Expr_BinaryOp_LogicalOr(
|
||||
left: Expr_Yield(
|
||||
key: null
|
||||
value: Scalar_String(
|
||||
value: a
|
||||
)
|
||||
)
|
||||
right: Expr_Exit(
|
||||
expr: null
|
||||
)
|
||||
)
|
||||
2: Expr_Yield(
|
||||
key: Scalar_String(
|
||||
value: k
|
||||
)
|
||||
value: Expr_BinaryOp_Concat(
|
||||
left: Scalar_String(
|
||||
value: a
|
||||
)
|
||||
right: Scalar_String(
|
||||
value: b
|
||||
)
|
||||
)
|
||||
)
|
||||
3: Expr_BinaryOp_LogicalOr(
|
||||
left: Expr_Yield(
|
||||
key: Scalar_String(
|
||||
value: k
|
||||
)
|
||||
value: Scalar_String(
|
||||
value: a
|
||||
)
|
||||
)
|
||||
right: Expr_Exit(
|
||||
expr: null
|
||||
)
|
||||
)
|
||||
4: Expr_FuncCall(
|
||||
name: Name(
|
||||
parts: array(
|
||||
0: var_dump
|
||||
)
|
||||
)
|
||||
args: array(
|
||||
0: Arg(
|
||||
value: Expr_Array(
|
||||
items: array(
|
||||
0: Expr_ArrayItem(
|
||||
key: null
|
||||
value: Expr_Yield(
|
||||
key: Scalar_String(
|
||||
value: k
|
||||
)
|
||||
value: Expr_BinaryOp_Concat(
|
||||
left: Scalar_String(
|
||||
value: a
|
||||
)
|
||||
right: Scalar_String(
|
||||
value: b
|
||||
)
|
||||
)
|
||||
)
|
||||
byRef: false
|
||||
)
|
||||
)
|
||||
)
|
||||
byRef: false
|
||||
unpack: false
|
||||
)
|
||||
)
|
||||
)
|
||||
5: Expr_Yield(
|
||||
key: null
|
||||
value: Expr_Yield(
|
||||
key: Scalar_String(
|
||||
value: k1
|
||||
)
|
||||
value: Expr_Yield(
|
||||
key: Scalar_String(
|
||||
value: k2
|
||||
)
|
||||
value: Expr_BinaryOp_Concat(
|
||||
left: Scalar_String(
|
||||
value: a
|
||||
)
|
||||
right: Scalar_String(
|
||||
value: b
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
6: Expr_Yield(
|
||||
key: Expr_Yield(
|
||||
key: Scalar_String(
|
||||
value: k1
|
||||
)
|
||||
value: Expr_Yield(
|
||||
key: null
|
||||
value: Scalar_String(
|
||||
value: k2
|
||||
)
|
||||
)
|
||||
)
|
||||
value: Expr_BinaryOp_Concat(
|
||||
left: Scalar_String(
|
||||
value: a
|
||||
)
|
||||
right: Scalar_String(
|
||||
value: b
|
||||
)
|
||||
)
|
||||
)
|
||||
7: Expr_FuncCall(
|
||||
name: Name(
|
||||
parts: array(
|
||||
0: var_dump
|
||||
)
|
||||
)
|
||||
args: array(
|
||||
0: Arg(
|
||||
value: Expr_Array(
|
||||
items: array(
|
||||
0: Expr_ArrayItem(
|
||||
key: null
|
||||
value: Expr_Yield(
|
||||
key: Scalar_String(
|
||||
value: k1
|
||||
)
|
||||
value: Expr_Yield(
|
||||
key: Scalar_String(
|
||||
value: k2
|
||||
)
|
||||
value: Expr_BinaryOp_Concat(
|
||||
left: Scalar_String(
|
||||
value: a
|
||||
)
|
||||
right: Scalar_String(
|
||||
value: b
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
byRef: false
|
||||
)
|
||||
)
|
||||
)
|
||||
byRef: false
|
||||
unpack: false
|
||||
)
|
||||
)
|
||||
)
|
||||
8: Expr_FuncCall(
|
||||
name: Name(
|
||||
parts: array(
|
||||
0: var_dump
|
||||
)
|
||||
)
|
||||
args: array(
|
||||
0: Arg(
|
||||
value: Expr_Array(
|
||||
items: array(
|
||||
0: Expr_ArrayItem(
|
||||
key: Expr_Yield(
|
||||
key: Scalar_String(
|
||||
value: k1
|
||||
)
|
||||
value: Expr_Yield(
|
||||
key: null
|
||||
value: Scalar_String(
|
||||
value: k2
|
||||
)
|
||||
)
|
||||
)
|
||||
value: Expr_BinaryOp_Concat(
|
||||
left: Scalar_String(
|
||||
value: a
|
||||
)
|
||||
right: Scalar_String(
|
||||
value: b
|
||||
)
|
||||
)
|
||||
byRef: false
|
||||
)
|
||||
)
|
||||
)
|
||||
byRef: false
|
||||
unpack: false
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
48
test/code/parser/stmt/generator/yieldUnaryPrecedence.test
Normal file
48
test/code/parser/stmt/generator/yieldUnaryPrecedence.test
Normal file
@ -0,0 +1,48 @@
|
||||
Yield with unary operator argument
|
||||
-----
|
||||
<?php
|
||||
|
||||
function gen() {
|
||||
yield +1;
|
||||
yield -1;
|
||||
yield * -1;
|
||||
}
|
||||
-----
|
||||
array(
|
||||
0: Stmt_Function(
|
||||
byRef: false
|
||||
name: gen
|
||||
params: array(
|
||||
)
|
||||
returnType: null
|
||||
stmts: array(
|
||||
0: Expr_Yield(
|
||||
key: null
|
||||
value: Expr_UnaryPlus(
|
||||
expr: Scalar_LNumber(
|
||||
value: 1
|
||||
)
|
||||
)
|
||||
)
|
||||
1: Expr_Yield(
|
||||
key: null
|
||||
value: Expr_UnaryMinus(
|
||||
expr: Scalar_LNumber(
|
||||
value: 1
|
||||
)
|
||||
)
|
||||
)
|
||||
2: Expr_BinaryOp_Mul(
|
||||
left: Expr_Yield(
|
||||
key: null
|
||||
value: null
|
||||
)
|
||||
right: Expr_UnaryMinus(
|
||||
expr: Scalar_LNumber(
|
||||
value: 1
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
Loading…
x
Reference in New Issue
Block a user