diff --git a/src/parser/xhpast/__tests__/data/anonymous_class.php.test b/src/parser/xhpast/__tests__/data/anonymous_class.php.test index 7b0b4a3e..83ee6b00 100644 --- a/src/parser/xhpast/__tests__/data/anonymous_class.php.test +++ b/src/parser/xhpast/__tests__/data/anonymous_class.php.test @@ -11,585 +11,122 @@ $b = new class(10) extends c implements d { ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 64, - [ - [ - 9006, - 0, - 63, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 12, - [ - [ - 9077, - 2, - 11, - [ - [ - 9047, - 2, - 2 - ], - [ - 9081, - 4, - 4 - ], - [ - 9074, - 6, - 11, - [ - [ - 9051, - 10, - 11, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 10, - 11 - ] - ] - ], - [ - 9005 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 14, - 63, - [ - [ - 9077, - 14, - 62, - [ - [ - 9047, - 14, - 14 - ], - [ - 9081, - 16, - 16 - ], - [ - 9074, - 18, - 62, - [ - [ - 9051, - 25, - 62, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9054, - 25, - 27, - [ - [ - 9090, - 27, - 27 - ] - ] - ], - [ - 9055, - 29, - 31, - [ - [ - 9090, - 31, - 31 - ] - ] - ], - [ - 9006, - 33, - 62, - [ - [ - 9004, - 35, - 38, - [ - [ - 9063, - 35, - 37, - [ - [ - 9070, - 35, - 35, - [ - [ - 9013, - 35, - 35 - ] - ] - ], - [ - 9064, - 37, - 37, - [ - [ - 9047, - 37, - 37 - ], - [ - 9005 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 40, - 60, - [ - [ - 9067, - 40, - 60, - [ - [ - 9068, - 40, - 40, - [ - [ - 9013, - 40, - 40 - ] - ] - ], - [ - 9005 - ], - [ - 9013, - 44, - 44 - ], - [ - 9059, - 45, - 47, - [ - [ - 9060, - 46, - 46, - [ - [ - 9005 - ], - [ - 9047, - 46, - 46 - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 49, - 60, - [ - [ - 9004, - 51, - 58, - [ - [ - 9077, - 51, - 57, - [ - [ - 9092, - 51, - 53, - [ - [ - 9047, - 51, - 51 - ], - [ - 9013, - 53, - 53 - ] - ] - ], - [ - 9081, - 55, - 55 - ], - [ - 9047, - 57, - 57 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9095, - 21, - 23, - [ - [ - 9086, - 22, - 22 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 2 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 302, - 3 - ], - [ - 377, - 1 - ], - [ - 358, - 5 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 302, - 3 - ], - [ - 377, - 1 - ], - [ - 358, - 5 - ], - [ - 40, - 1 - ], - [ - 309, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 360, - 7 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 361, - 10 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 3 - ], - [ - 350, - 7 - ], - [ - 377, - 1 - ], - [ - 313, - 4 - ], - [ - 59, - 1 - ], - [ - 377, - 4 - ], - [ - 352, - 6 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 11 - ], - [ - 40, - 1 - ], - [ - 313, - 4 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 5 - ], - [ - 313, - 5 - ], - [ - 362, - 2 - ], - [ - 311, - 3 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 4 - ], - [ - 59, - 1 - ], - [ - 377, - 3 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $a + > " " + * n_OPERATOR + > = + > " " + * n_NEW + > new + > " " + > class + > " " + * n_CLASS_DECLARATION + * n_EMPTY + * n_EMPTY + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + * n_EMPTY + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $b + > " " + * n_OPERATOR + > = + > " " + * n_NEW + > new + > " " + > class + > " " + * n_CLASS_DECLARATION + * n_EMPTY + * n_EMPTY + * n_EXTENDS_LIST + > extends + > " " + * n_CLASS_NAME + > c + > " " + * n_IMPLEMENTS_LIST + > implements + > " " + * n_CLASS_NAME + > d + > " " + * n_STATEMENT_LIST + > { + > "\n " + * n_STATEMENT + * n_CLASS_MEMBER_DECLARATION_LIST + * n_CLASS_MEMBER_MODIFIER_LIST + * n_STRING + > private + > " " + * n_CLASS_MEMBER_DECLARATION + * n_VARIABLE + > $num + * n_EMPTY + > ; + > "\n\n " + * n_STATEMENT + * n_METHOD_DECLARATION + * n_METHOD_MODIFIER_LIST + * n_STRING + > public + * n_EMPTY + * n_STRING + > __construct + * n_DECLARATION_PARAMETER_LIST + > ( + * n_DECLARATION_PARAMETER + * n_EMPTY + * n_VARIABLE + > $num + * n_EMPTY + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > "\n " + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_OBJECT_PROPERTY_ACCESS + * n_VARIABLE + > $this + > -> + * n_STRING + > num + > " " + * n_OPERATOR + > = + > " " + * n_VARIABLE + > $num + > ; + > "\n " + > } + > "\n" + > } + * n_CALL_PARAMETER_LIST + > ( + * n_NUMERIC_SCALAR + > 10 + > ) + > ; + > "\n" diff --git a/src/parser/xhpast/__tests__/data/base-pass.php.test b/src/parser/xhpast/__tests__/data/base-pass.php.test index 75b47c06..15097044 100644 --- a/src/parser/xhpast/__tests__/data/base-pass.php.test +++ b/src/parser/xhpast/__tests__/data/base-pass.php.test @@ -2,34 +2,8 @@ ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 1, - [ - [ - 9006, - 0, - 0, - [ - [ - 9007, - 0, - 0 - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n" diff --git a/src/parser/xhpast/__tests__/data/call-time-pass-by-ref.php.test b/src/parser/xhpast/__tests__/data/call-time-pass-by-ref.php.test index e8a92fc7..a924b320 100644 --- a/src/parser/xhpast/__tests__/data/call-time-pass-by-ref.php.test +++ b/src/parser/xhpast/__tests__/data/call-time-pass-by-ref.php.test @@ -2,100 +2,21 @@ ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 8, - [ - [ - 9006, - 0, - 7, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 7, - [ - [ - 9099, - 2, - 6, - [ - [ - 9001, - 2, - 2 - ], - [ - 9095, - 3, - 6, - [ - [ - 9049, - 4, - 5, - [ - [ - 9047, - 5, - 5 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 38, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > " " + * n_STATEMENT + * n_FUNCTION_CALL + * n_SYMBOL_NAME + > f + * n_CALL_PARAMETER_LIST + > ( + * n_VARIABLE_REFERENCE + > & + * n_VARIABLE + > $v + > ) + > ; + > "\n" diff --git a/src/parser/xhpast/__tests__/data/namespace.php.test b/src/parser/xhpast/__tests__/data/namespace.php.test index d19a45d5..b1de0e24 100644 --- a/src/parser/xhpast/__tests__/data/namespace.php.test +++ b/src/parser/xhpast/__tests__/data/namespace.php.test @@ -14,387 +14,80 @@ namespace { ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 45, - [ - [ - 9006, - 0, - 44, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 5, - [ - [ - 9003, - 2, - 4, - [ - [ - 9001, - 4, - 4 - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9004, - 7, - 12, - [ - [ - 9051, - 7, - 12, - [ - [ - 9052, - 7, - 7 - ], - [ - 9090, - 9, - 9 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 11, - 12 - ] - ] - ] - ] - ], - [ - 9004, - 14, - 31, - [ - [ - 9003, - 14, - 31, - [ - [ - 9001, - 16, - 20 - ], - [ - 9006, - 22, - 31, - [ - [ - 9004, - 24, - 29, - [ - [ - 9051, - 24, - 29, - [ - [ - 9052, - 24, - 24 - ], - [ - 9090, - 26, - 26 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 28, - 29 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 33, - 44, - [ - [ - 9003, - 33, - 44, - [ - [ - 9005 - ], - [ - 9006, - 35, - 44, - [ - [ - 9004, - 37, - 42, - [ - [ - 9051, - 37, - 42, - [ - [ - 9052, - 37, - 37 - ], - [ - 9090, - 39, - 39 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 41, - 42 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 2 - ], - [ - 386, - 9 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 358, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 386, - 9 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 389, - 1 - ], - [ - 311, - 1 - ], - [ - 389, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 3 - ], - [ - 358, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 386, - 9 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 3 - ], - [ - 358, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n\n" + * n_STATEMENT + * n_NAMESPACE + > namespace + > " " + * n_SYMBOL_NAME + > A + * n_EMPTY + > ; + > "\n\n" + * n_STATEMENT + * n_CLASS_DECLARATION + * n_CLASS_ATTRIBUTES + > class + > " " + * n_CLASS_NAME + > B + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n\n" + * n_STATEMENT + * n_NAMESPACE + > namespace + > " " + * n_SYMBOL_NAME + > A + > "\" + > B + > "\" + > C + > " " + * n_STATEMENT_LIST + > { + > "\n " + * n_STATEMENT + * n_CLASS_DECLARATION + * n_CLASS_ATTRIBUTES + > class + > " " + * n_CLASS_NAME + > D + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" + > } + > "\n\n" + * n_STATEMENT + * n_NAMESPACE + * n_EMPTY + * n_STATEMENT_LIST + > { + > "\n " + * n_STATEMENT + * n_CLASS_DECLARATION + * n_CLASS_ATTRIBUTES + > class + > " " + * n_CLASS_NAME + > A + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" + > } + > "\n" diff --git a/src/parser/xhpast/__tests__/data/operator-coalesce.php.test b/src/parser/xhpast/__tests__/data/operator-coalesce.php.test index 59e02433..73981b5a 100644 --- a/src/parser/xhpast/__tests__/data/operator-coalesce.php.test +++ b/src/parser/xhpast/__tests__/data/operator-coalesce.php.test @@ -3,124 +3,27 @@ ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 12, - [ - [ - 9006, - 0, - 11, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 11, - [ - [ - 9077, - 2, - 10, - [ - [ - 9086, - 2, - 2 - ], - [ - 9081, - 4, - 4 - ], - [ - 9077, - 6, - 10, - [ - [ - 9086, - 6, - 6 - ], - [ - 9081, - 8, - 8 - ], - [ - 9086, - 10, - 10 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 377, - 1 - ], - [ - 278, - 2 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 377, - 1 - ], - [ - 278, - 2 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_NUMERIC_SCALAR + > 1 + > " " + * n_OPERATOR + > ?? + > " " + * n_BINARY_EXPRESSION + * n_NUMERIC_SCALAR + > 2 + > " " + * n_OPERATOR + > ?? + > " " + * n_NUMERIC_SCALAR + > 3 + > ; + > "\n" diff --git a/src/parser/xhpast/__tests__/data/operator-spaceship.php.test b/src/parser/xhpast/__tests__/data/operator-spaceship.php.test index 7ba45bc5..5c2d2e58 100644 --- a/src/parser/xhpast/__tests__/data/operator-spaceship.php.test +++ b/src/parser/xhpast/__tests__/data/operator-spaceship.php.test @@ -3,91 +3,20 @@ ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 8, - [ - [ - 9006, - 0, - 7, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 7, - [ - [ - 9077, - 2, - 6, - [ - [ - 9086, - 2, - 2 - ], - [ - 9081, - 4, - 4 - ], - [ - 9086, - 6, - 6 - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 377, - 1 - ], - [ - 285, - 3 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_NUMERIC_SCALAR + > 1 + > " " + * n_OPERATOR + > <=> + > " " + * n_NUMERIC_SCALAR + > 2 + > ; + > "\n" diff --git a/src/parser/xhpast/__tests__/data/optional-parameter.php.test b/src/parser/xhpast/__tests__/data/optional-parameter.php.test index 5d032b7f..16ea4751 100644 --- a/src/parser/xhpast/__tests__/data/optional-parameter.php.test +++ b/src/parser/xhpast/__tests__/data/optional-parameter.php.test @@ -5,278 +5,56 @@ function b(?SomeClass $x) {} ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 27, - [ - [ - 9006, - 0, - 26, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 13, - [ - [ - 9050, - 2, - 13, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 4, - 4 - ], - [ - 9059, - 5, - 10, - [ - [ - 9060, - 7, - 9, - [ - [ - 9116, - 7, - 7, - [ - [ - 9090, - 7, - 7 - ] - ] - ], - [ - 9047, - 9, - 9 - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 12, - 13 - ] - ] - ] - ] - ], - [ - 9004, - 15, - 26, - [ - [ - 9050, - 15, - 26, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 17, - 17 - ], - [ - 9059, - 18, - 23, - [ - [ - 9060, - 20, - 22, - [ - [ - 9116, - 20, - 20, - [ - [ - 9090, - 20, - 20 - ] - ] - ], - [ - 9047, - 22, - 22 - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 25, - 26 - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 2 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 63, - 1 - ], - [ - 311, - 3 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 63, - 1 - ], - [ - 311, - 9 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > a + * n_DECLARATION_PARAMETER_LIST + > ( + > ? + * n_DECLARATION_PARAMETER + * n_NULLABLE_TYPE + * n_CLASS_NAME + > int + > " " + * n_VARIABLE + > $x + * n_EMPTY + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > b + * n_DECLARATION_PARAMETER_LIST + > ( + > ? + * n_DECLARATION_PARAMETER + * n_NULLABLE_TYPE + * n_CLASS_NAME + > SomeClass + > " " + * n_VARIABLE + > $x + * n_EMPTY + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" diff --git a/src/parser/xhpast/__tests__/data/php-access-on-instanciation.test b/src/parser/xhpast/__tests__/data/php-access-on-instanciation.test index d123e7f3..580fa60d 100644 --- a/src/parser/xhpast/__tests__/data/php-access-on-instanciation.test +++ b/src/parser/xhpast/__tests__/data/php-access-on-instanciation.test @@ -16,648 +16,130 @@ $e = (new a)->c(); ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 74, - [ - [ - 9006, - 0, - 73, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 25, - [ - [ - 9051, - 2, - 25, - [ - [ - 9052, - 2, - 2 - ], - [ - 9090, - 4, - 4 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 6, - 25, - [ - [ - 9004, - 8, - 11, - [ - [ - 9063, - 8, - 10, - [ - [ - 9070, - 8, - 8, - [ - [ - 9013, - 8, - 8 - ] - ] - ], - [ - 9064, - 10, - 10, - [ - [ - 9047, - 10, - 10 - ], - [ - 9005 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 13, - 23, - [ - [ - 9067, - 13, - 23, - [ - [ - 9068, - 13, - 13, - [ - [ - 9013, - 13, - 13 - ] - ] - ], - [ - 9005 - ], - [ - 9013, - 17, - 17 - ], - [ - 9059, - 18, - 19 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 21, - 23 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 27, - 38, - [ - [ - 9077, - 27, - 37, - [ - [ - 9047, - 27, - 27 - ], - [ - 9081, - 29, - 29 - ], - [ - 9092, - 31, - 37, - [ - [ - 9074, - 31, - 35, - [ - [ - 9090, - 34, - 34 - ], - [ - 9005 - ] - ] - ], - [ - 9013, - 37, - 37 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 40, - 53, - [ - [ - 9077, - 40, - 52, - [ - [ - 9047, - 40, - 40 - ], - [ - 9081, - 42, - 42 - ], - [ - 9102, - 44, - 52, - [ - [ - 9092, - 44, - 50, - [ - [ - 9074, - 44, - 48, - [ - [ - 9090, - 47, - 47 - ], - [ - 9005 - ] - ] - ], - [ - 9013, - 50, - 50 - ] - ] - ], - [ - 9095, - 51, - 52 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 55, - 62, - [ - [ - 9092, - 55, - 61, - [ - [ - 9074, - 55, - 59, - [ - [ - 9090, - 58, - 58 - ], - [ - 9005 - ] - ] - ], - [ - 9013, - 61, - 61 - ] - ] - ] - ] - ], - [ - 9004, - 64, - 73, - [ - [ - 9102, - 64, - 72, - [ - [ - 9092, - 64, - 70, - [ - [ - 9074, - 64, - 68, - [ - [ - 9090, - 67, - 67 - ], - [ - 9005 - ] - ] - ], - [ - 9013, - 70, - 70 - ] - ] - ], - [ - 9095, - 71, - 72 - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 2 - ], - [ - 358, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 2 - ], - [ - 352, - 6 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 3 - ], - [ - 352, - 6 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 302, - 3 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 41, - 1 - ], - [ - 362, - 2 - ], - [ - 311, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 302, - 3 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 41, - 1 - ], - [ - 362, - 2 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 40, - 1 - ], - [ - 302, - 3 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 41, - 1 - ], - [ - 362, - 2 - ], - [ - 311, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 40, - 1 - ], - [ - 302, - 3 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 41, - 1 - ], - [ - 362, - 2 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n\n" + * n_STATEMENT + * n_CLASS_DECLARATION + * n_CLASS_ATTRIBUTES + > class + > " " + * n_CLASS_NAME + > a + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > "\n " + * n_STATEMENT + * n_CLASS_MEMBER_DECLARATION_LIST + * n_CLASS_MEMBER_MODIFIER_LIST + * n_STRING + > public + > " " + * n_CLASS_MEMBER_DECLARATION + * n_VARIABLE + > $b + * n_EMPTY + > ; + > "\n\n " + * n_STATEMENT + * n_METHOD_DECLARATION + * n_METHOD_MODIFIER_LIST + * n_STRING + > public + * n_EMPTY + * n_STRING + > c + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > " " + > } + > "\n" + > } + > "\n\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $d + > " " + * n_OPERATOR + > = + > " " + * n_OBJECT_PROPERTY_ACCESS + * n_NEW + > ( + > new + > " " + * n_CLASS_NAME + > a + * n_EMPTY + > -> + * n_STRING + > b + > ; + > "\n\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $e + > " " + * n_OPERATOR + > = + > " " + * n_METHOD_CALL + * n_OBJECT_PROPERTY_ACCESS + * n_NEW + > ( + > new + > " " + * n_CLASS_NAME + > a + * n_EMPTY + > -> + * n_STRING + > c + * n_CALL_PARAMETER_LIST + > ( + > ) + > ; + > "\n\n" + * n_STATEMENT + * n_OBJECT_PROPERTY_ACCESS + * n_NEW + > ( + > new + > " " + * n_CLASS_NAME + > a + * n_EMPTY + > -> + * n_STRING + > b + > ; + > "\n\n" + * n_STATEMENT + * n_METHOD_CALL + * n_OBJECT_PROPERTY_ACCESS + * n_NEW + > ( + > new + > " " + * n_CLASS_NAME + > a + * n_EMPTY + > -> + * n_STRING + > c + * n_CALL_PARAMETER_LIST + > ( + > ) + > ; + > "\n" diff --git a/src/parser/xhpast/__tests__/data/php-array-dereference-2.test b/src/parser/xhpast/__tests__/data/php-array-dereference-2.test index ac288ed7..46d11d21 100644 --- a/src/parser/xhpast/__tests__/data/php-array-dereference-2.test +++ b/src/parser/xhpast/__tests__/data/php-array-dereference-2.test @@ -6,180 +6,38 @@ if ($j->getStatus()['running']) { ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 19, - [ - [ - 9006, - 0, - 18, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 18, - [ - [ - 9015, - 2, - 18, - [ - [ - 9017, - 2, - 18, - [ - [ - 9016, - 4, - 13, - [ - [ - 9102, - 5, - 12, - [ - [ - 9092, - 5, - 7, - [ - [ - 9047, - 5, - 5 - ], - [ - 9013, - 7, - 7 - ] - ] - ], - [ - 9100, - 8, - 12, - [ - [ - 9095, - 8, - 9 - ], - [ - 9087, - 11, - 11 - ] - ] - ] - ] - ] - ] - ], - [ - 9006, - 15, - 18 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 2 - ], - [ - 305, - 2 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 313, - 2 - ], - [ - 362, - 2 - ], - [ - 311, - 9 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 91, - 1 - ], - [ - 319, - 9 - ], - [ - 93, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 3 - ], - [ - 371, - 16 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n\n" + * n_STATEMENT + * n_CONDITION_LIST + * n_IF + > if + > " " + * n_CONTROL_CONDITION + > ( + * n_METHOD_CALL + * n_OBJECT_PROPERTY_ACCESS + * n_VARIABLE + > $j + > -> + * n_STRING + > getStatus + * n_INDEX_ACCESS + * n_CALL_PARAMETER_LIST + > ( + > ) + > [ + * n_STRING_SCALAR + > 'running' + > ] + > ) + > " " + * n_STATEMENT_LIST + > { + > "\n " + > "// do something\n" + > } + > "\n" diff --git a/src/parser/xhpast/__tests__/data/php-array-dereference-3.test b/src/parser/xhpast/__tests__/data/php-array-dereference-3.test index 08e06908..beb098ac 100644 --- a/src/parser/xhpast/__tests__/data/php-array-dereference-3.test +++ b/src/parser/xhpast/__tests__/data/php-array-dereference-3.test @@ -3,207 +3,43 @@ if (isset(self::getSearchStates()[$state])) { } ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 21, - [ - [ - 9006, - 0, - 20, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 20, - [ - [ - 9015, - 2, - 20, - [ - [ - 9017, - 2, - 20, - [ - [ - 9016, - 4, - 16, - [ - [ - 9099, - 5, - 15, - [ - [ - 9001, - 5, - 5 - ], - [ - 9095, - 6, - 15, - [ - [ - 9100, - 7, - 14, - [ - [ - 9099, - 7, - 11, - [ - [ - 9089, - 7, - 9, - [ - [ - 9090, - 7, - 7 - ], - [ - 9013, - 9, - 9 - ] - ] - ], - [ - 9095, - 10, - 11 - ] - ] - ], - [ - 9047, - 13, - 13 - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9006, - 18, - 20 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 1 - ], - [ - 305, - 2 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 355, - 5 - ], - [ - 40, - 1 - ], - [ - 311, - 4 - ], - [ - 383, - 2 - ], - [ - 311, - 15 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 91, - 1 - ], - [ - 313, - 6 - ], - [ - 93, - 1 - ], - [ - 41, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n" + * n_STATEMENT + * n_CONDITION_LIST + * n_IF + > if + > " " + * n_CONTROL_CONDITION + > ( + * n_FUNCTION_CALL + * n_SYMBOL_NAME + > isset + * n_CALL_PARAMETER_LIST + > ( + * n_INDEX_ACCESS + * n_FUNCTION_CALL + * n_CLASS_STATIC_ACCESS + * n_CLASS_NAME + > self + > :: + * n_STRING + > getSearchStates + * n_CALL_PARAMETER_LIST + > ( + > ) + > [ + * n_VARIABLE + > $state + > ] + > ) + > ) + > " " + * n_STATEMENT_LIST + > { + > " " + > } + > "\n" diff --git a/src/parser/xhpast/__tests__/data/php-array-dereference-4.test b/src/parser/xhpast/__tests__/data/php-array-dereference-4.test index e8325523..ded857db 100644 --- a/src/parser/xhpast/__tests__/data/php-array-dereference-4.test +++ b/src/parser/xhpast/__tests__/data/php-array-dereference-4.test @@ -4,150 +4,32 @@ PHP_VERSION[0]; ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 15, - [ - [ - 9006, - 0, - 14, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 8, - [ - [ - 9100, - 2, - 7, - [ - [ - 9089, - 2, - 4, - [ - [ - 9090, - 2, - 2 - ], - [ - 9013, - 4, - 4 - ] - ] - ], - [ - 9087, - 6, - 6 - ] - ] - ] - ] - ], - [ - 9004, - 10, - 14, - [ - [ - 9100, - 10, - 13, - [ - [ - 9013, - 10, - 10 - ], - [ - 9086, - 12, - 12 - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 10 - ], - [ - 383, - 2 - ], - [ - 311, - 10 - ], - [ - 91, - 1 - ], - [ - 319, - 11 - ], - [ - 93, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 11 - ], - [ - 91, - 1 - ], - [ - 309, - 1 - ], - [ - 93, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n" + * n_STATEMENT + * n_INDEX_ACCESS + * n_CLASS_STATIC_ACCESS + * n_CLASS_NAME + > XHPASTNode + > :: + * n_STRING + > NODE_TYPES + > [ + * n_STRING_SCALAR + > 'n_PROGRAM' + > ] + > ; + > "\n" + * n_STATEMENT + * n_INDEX_ACCESS + * n_STRING + > PHP_VERSION + > [ + * n_NUMERIC_SCALAR + > 0 + > ] + > ; + > "\n" diff --git a/src/parser/xhpast/__tests__/data/php-array-dereference.test b/src/parser/xhpast/__tests__/data/php-array-dereference.test index 0501ea17..2c1c1151 100644 --- a/src/parser/xhpast/__tests__/data/php-array-dereference.test +++ b/src/parser/xhpast/__tests__/data/php-array-dereference.test @@ -13,646 +13,133 @@ if (isset(foo()[0])) { } ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 71, - [ - [ - 9006, - 0, - 70, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 21, - [ - [ - 9050, - 2, - 21, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 4, - 4 - ], - [ - 9059, - 5, - 6 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 8, - 21, - [ - [ - 9004, - 10, - 19, - [ - [ - 9027, - 10, - 18, - [ - [ - 9082, - 12, - 18, - [ - [ - 9093, - 12, - 18, - [ - [ - 9094, - 13, - 13, - [ - [ - 9005 - ], - [ - 9086, - 13, - 13 - ] - ] - ], - [ - 9094, - 15, - 15, - [ - [ - 9005 - ], - [ - 9086, - 15, - 15 - ] - ] - ], - [ - 9094, - 17, - 17, - [ - [ - 9005 - ], - [ - 9086, - 17, - 17 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 23, - 28, - [ - [ - 9077, - 23, - 27, - [ - [ - 9047, - 23, - 23 - ], - [ - 9081, - 25, - 25 - ], - [ - 9086, - 27, - 27 - ] - ] - ] - ] - ], - [ - 9004, - 30, - 40, - [ - [ - 9077, - 30, - 39, - [ - [ - 9047, - 30, - 30 - ], - [ - 9081, - 32, - 32 - ], - [ - 9100, - 34, - 39, - [ - [ - 9099, - 34, - 36, - [ - [ - 9001, - 34, - 34 - ], - [ - 9095, - 35, - 36 - ] - ] - ], - [ - 9086, - 38, - 38 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 42, - 52, - [ - [ - 9077, - 42, - 51, - [ - [ - 9047, - 42, - 42 - ], - [ - 9081, - 44, - 44 - ], - [ - 9100, - 46, - 51, - [ - [ - 9099, - 46, - 48, - [ - [ - 9001, - 46, - 46 - ], - [ - 9095, - 47, - 48 - ] - ] - ], - [ - 9047, - 50, - 50 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 54, - 70, - [ - [ - 9015, - 54, - 70, - [ - [ - 9017, - 54, - 70, - [ - [ - 9016, - 56, - 66, - [ - [ - 9099, - 57, - 65, - [ - [ - 9001, - 57, - 57 - ], - [ - 9095, - 58, - 65, - [ - [ - 9100, - 59, - 64, - [ - [ - 9099, - 59, - 61, - [ - [ - 9001, - 59, - 59 - ], - [ - 9095, - 60, - 61 - ] - ] - ], - [ - 9086, - 63, - 63 - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9006, - 68, - 70 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 2 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 3 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 3 - ], - [ - 341, - 6 - ], - [ - 377, - 1 - ], - [ - 91, - 1 - ], - [ - 309, - 1 - ], - [ - 44, - 1 - ], - [ - 309, - 1 - ], - [ - 44, - 1 - ], - [ - 309, - 1 - ], - [ - 93, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 3 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 91, - 1 - ], - [ - 309, - 1 - ], - [ - 93, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 3 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 91, - 1 - ], - [ - 313, - 2 - ], - [ - 93, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 305, - 2 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 355, - 5 - ], - [ - 40, - 1 - ], - [ - 311, - 3 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 91, - 1 - ], - [ - 309, - 1 - ], - [ - 93, - 1 - ], - [ - 41, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > foo + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > "\n " + * n_STATEMENT + * n_RETURN + > return + > " " + * n_ARRAY_LITERAL + * n_ARRAY_VALUE_LIST + > [ + * n_ARRAY_VALUE + * n_EMPTY + * n_NUMERIC_SCALAR + > 1 + > , + * n_ARRAY_VALUE + * n_EMPTY + * n_NUMERIC_SCALAR + > 2 + > , + * n_ARRAY_VALUE + * n_EMPTY + * n_NUMERIC_SCALAR + > 3 + > ] + > ; + > "\n" + > } + > "\n\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $i + > " " + * n_OPERATOR + > = + > " " + * n_NUMERIC_SCALAR + > 1 + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > = + > " " + * n_INDEX_ACCESS + * n_FUNCTION_CALL + * n_SYMBOL_NAME + > foo + * n_CALL_PARAMETER_LIST + > ( + > ) + > [ + * n_NUMERIC_SCALAR + > 2 + > ] + > ; + > "\n\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $y + > " " + * n_OPERATOR + > = + > " " + * n_INDEX_ACCESS + * n_FUNCTION_CALL + * n_SYMBOL_NAME + > foo + * n_CALL_PARAMETER_LIST + > ( + > ) + > [ + * n_VARIABLE + > $i + > ] + > ; + > "\n\n" + * n_STATEMENT + * n_CONDITION_LIST + * n_IF + > if + > " " + * n_CONTROL_CONDITION + > ( + * n_FUNCTION_CALL + * n_SYMBOL_NAME + > isset + * n_CALL_PARAMETER_LIST + > ( + * n_INDEX_ACCESS + * n_FUNCTION_CALL + * n_SYMBOL_NAME + > foo + * n_CALL_PARAMETER_LIST + > ( + > ) + > [ + * n_NUMERIC_SCALAR + > 0 + > ] + > ) + > ) + > " " + * n_STATEMENT_LIST + > { + > " " + > } + > "\n" diff --git a/src/parser/xhpast/__tests__/data/php-binary-literal.php.test b/src/parser/xhpast/__tests__/data/php-binary-literal.php.test index 80f7d64c..6d783319 100644 --- a/src/parser/xhpast/__tests__/data/php-binary-literal.php.test +++ b/src/parser/xhpast/__tests__/data/php-binary-literal.php.test @@ -2,54 +2,12 @@ ~~~~~~~~~~ pass, rtrim ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 3, - [ - [ - 9006, - 0, - 3, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 3, - [ - [ - 9086, - 2, - 2 - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 1 - ], - [ - 309, - 4 - ], - [ - 59, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > " " + * n_STATEMENT + * n_NUMERIC_SCALAR + > 0b10 + > ; diff --git a/src/parser/xhpast/__tests__/data/php-callable-typehint.php.test b/src/parser/xhpast/__tests__/data/php-callable-typehint.php.test index 2bbdcd78..2153d006 100644 --- a/src/parser/xhpast/__tests__/data/php-callable-typehint.php.test +++ b/src/parser/xhpast/__tests__/data/php-callable-typehint.php.test @@ -4,145 +4,30 @@ function f(callable $c) {} ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 13, - [ - [ - 9006, - 0, - 12, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 12, - [ - [ - 9050, - 2, - 12, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 4, - 4 - ], - [ - 9059, - 5, - 9, - [ - [ - 9060, - 6, - 8, - [ - [ - 9061, - 6, - 6 - ], - [ - 9047, - 8, - 8 - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 11, - 12 - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 2 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 391, - 8 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > f + * n_DECLARATION_PARAMETER_LIST + > ( + * n_DECLARATION_PARAMETER + * n_TYPE_NAME + > callable + > " " + * n_VARIABLE + > $c + * n_EMPTY + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" diff --git a/src/parser/xhpast/__tests__/data/php-comments.php.test b/src/parser/xhpast/__tests__/data/php-comments.php.test index 0081f61d..20d92484 100644 --- a/src/parser/xhpast/__tests__/data/php-comments.php.test +++ b/src/parser/xhpast/__tests__/data/php-comments.php.test @@ -10,62 +10,15 @@ ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 8, - [ - [ - 9006, - 0, - 0, - [ - [ - 9007, - 0, - 0 - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 2 - ], - [ - 371, - 10 - ], - [ - 371, - 11 - ], - [ - 371, - 13 - ], - [ - 377, - 1 - ], - [ - 372, - 18 - ], - [ - 377, - 1 - ], - [ - 371, - 24 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n\n" + > "# comment\n" + > "// comment\n" + > "/* comment */" + > "\n" + > "/**\n * comment\n */" + > "\n" + > "/* unterminated comment\n" diff --git a/src/parser/xhpast/__tests__/data/php-empty-heredoc.php.test b/src/parser/xhpast/__tests__/data/php-empty-heredoc.php.test index ccddd1da..905cf11b 100644 --- a/src/parser/xhpast/__tests__/data/php-empty-heredoc.php.test +++ b/src/parser/xhpast/__tests__/data/php-empty-heredoc.php.test @@ -5,91 +5,20 @@ EODOC; ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 8, - [ - [ - 9006, - 0, - 7, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 7, - [ - [ - 9077, - 2, - 6, - [ - [ - 9047, - 2, - 2 - ], - [ - 9081, - 4, - 4 - ], - [ - 9098, - 6, - 6 - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 2 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 380, - 14 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $a + > " " + * n_OPERATOR + > = + > " " + * n_HEREDOC + > "<< ; + > "\n" diff --git a/src/parser/xhpast/__tests__/data/php-finally.php.test b/src/parser/xhpast/__tests__/data/php-finally.php.test index 5e0ff961..49fd798a 100644 --- a/src/parser/xhpast/__tests__/data/php-finally.php.test +++ b/src/parser/xhpast/__tests__/data/php-finally.php.test @@ -2,176 +2,35 @@ ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 22, - [ - [ - 9006, - 0, - 21, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 21, - [ - [ - 9041, - 2, - 21, - [ - [ - 9006, - 4, - 5 - ], - [ - 9042, - 7, - 16, - [ - [ - 9043, - 7, - 16, - [ - [ - 9090, - 10, - 10 - ], - [ - 9047, - 12, - 12 - ], - [ - 9006, - 15, - 16 - ] - ] - ] - ] - ], - [ - 9113, - 18, - 21, - [ - [ - 9006 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 1 - ], - [ - 342, - 3 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 343, - 5 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 395, - 7 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > " " + * n_STATEMENT + * n_TRY + > try + > " " + * n_STATEMENT_LIST + > { + > } + > " " + * n_CATCH_LIST + * n_CATCH + > catch + > " " + > ( + * n_CLASS_NAME + > C + > " " + * n_VARIABLE + > $x + > ) + > " " + * n_STATEMENT_LIST + > { + > } + > " " + * n_FINALLY + * n_STATEMENT_LIST + > "\n" diff --git a/src/parser/xhpast/__tests__/data/php-literal-index.php.test b/src/parser/xhpast/__tests__/data/php-literal-index.php.test index 64075727..97455d14 100644 --- a/src/parser/xhpast/__tests__/data/php-literal-index.php.test +++ b/src/parser/xhpast/__tests__/data/php-literal-index.php.test @@ -2,162 +2,34 @@ ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 15, - [ - [ - 9006, - 0, - 14, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 8, - [ - [ - 9100, - 2, - 7, - [ - [ - 9082, - 2, - 4, - [ - [ - 9093, - 2, - 4, - [ - [ - 9094, - 3, - 3, - [ - [ - 9005 - ], - [ - 9086, - 3, - 3 - ] - ] - ] - ] - ] - ] - ], - [ - 9086, - 6, - 6 - ] - ] - ] - ] - ], - [ - 9004, - 10, - 14, - [ - [ - 9100, - 10, - 13, - [ - [ - 9087, - 10, - 10 - ], - [ - 9086, - 12, - 12 - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 1 - ], - [ - 91, - 1 - ], - [ - 309, - 1 - ], - [ - 93, - 1 - ], - [ - 91, - 1 - ], - [ - 309, - 1 - ], - [ - 93, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 319, - 3 - ], - [ - 91, - 1 - ], - [ - 309, - 1 - ], - [ - 93, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > " " + * n_STATEMENT + * n_INDEX_ACCESS + * n_ARRAY_LITERAL + * n_ARRAY_VALUE_LIST + > [ + * n_ARRAY_VALUE + * n_EMPTY + * n_NUMERIC_SCALAR + > 1 + > ] + > [ + * n_NUMERIC_SCALAR + > 0 + > ] + > ; + > " " + * n_STATEMENT + * n_INDEX_ACCESS + * n_STRING_SCALAR + > "\"X\"" + > [ + * n_NUMERIC_SCALAR + > 0 + > ] + > ; + > "\n" diff --git a/src/parser/xhpast/__tests__/data/php-literals.php.test b/src/parser/xhpast/__tests__/data/php-literals.php.test index 5314f492..91811b5e 100644 --- a/src/parser/xhpast/__tests__/data/php-literals.php.test +++ b/src/parser/xhpast/__tests__/data/php-literals.php.test @@ -15,354 +15,74 @@ lbl: ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 39, - [ - [ - 9006, - 0, - 38, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 3, - [ - [ - 9086, - 2, - 2 - ] - ] - ], - [ - 9004, - 5, - 6, - [ - [ - 9086, - 5, - 5 - ] - ] - ], - [ - 9004, - 8, - 10, - [ - [ - 9075, - 8, - 9, - [ - [ - 9081, - 8, - 8 - ], - [ - 9086, - 9, - 9 - ] - ] - ] - ] - ], - [ - 9004, - 12, - 14, - [ - [ - 9075, - 12, - 13, - [ - [ - 9081, - 12, - 12 - ], - [ - 9086, - 13, - 13 - ] - ] - ] - ] - ], - [ - 9004, - 16, - 17, - [ - [ - 9086, - 16, - 16 - ] - ] - ], - [ - 9004, - 19, - 20, - [ - [ - 9086, - 19, - 19 - ] - ] - ], - [ - 9004, - 22, - 23, - [ - [ - 9087, - 22, - 22 - ] - ] - ], - [ - 9004, - 25, - 26, - [ - [ - 9087, - 25, - 25 - ] - ] - ], - [ - 9004, - 28, - 29, - [ - [ - 9084, - 28, - 28 - ] - ] - ], - [ - 9004, - 31, - 32, - [ - [ - 9087, - 31, - 31 - ] - ] - ], - [ - 9004, - 34, - 35, - [ - [ - 9087, - 34, - 34 - ] - ] - ], - [ - 9014, - 37, - 38, - [ - [ - 9013, - 37, - 37 - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 2 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 310, - 3 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 45, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 45, - 1 - ], - [ - 310, - 3 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 310, - 3 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 309, - 4 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 319, - 3 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 319, - 3 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 320, - 3 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 319, - 4 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 319, - 4 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 3 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n\n" + * n_STATEMENT + * n_NUMERIC_SCALAR + > 1 + > ; + > "\n" + * n_STATEMENT + * n_NUMERIC_SCALAR + > 1.1 + > ; + > "\n" + * n_STATEMENT + * n_UNARY_PREFIX_EXPRESSION + * n_OPERATOR + > - + * n_NUMERIC_SCALAR + > 1 + > ; + > "\n" + * n_STATEMENT + * n_UNARY_PREFIX_EXPRESSION + * n_OPERATOR + > - + * n_NUMERIC_SCALAR + > 1.1 + > ; + > "\n" + * n_STATEMENT + * n_NUMERIC_SCALAR + > 1e1 + > ; + > "\n" + * n_STATEMENT + * n_NUMERIC_SCALAR + > 0xFF + > ; + > "\n" + * n_STATEMENT + * n_STRING_SCALAR + > 'a' + > ; + > "\n" + * n_STATEMENT + * n_STRING_SCALAR + > "\"a\"" + > ; + > "\n" + * n_STATEMENT + * n_BACKTICKS_EXPRESSION + > `a` + > ; + > "\n" + * n_STATEMENT + * n_STRING_SCALAR + > b'a' + > ; + > "\n" + * n_STATEMENT + * n_STRING_SCALAR + > "b\"a\"" + > ; + > "\n" + * n_LABEL + * n_STRING + > lbl + > : + > "\n" diff --git a/src/parser/xhpast/__tests__/data/php-only-finally.test b/src/parser/xhpast/__tests__/data/php-only-finally.test index 2e2f04a4..383b3f15 100644 --- a/src/parser/xhpast/__tests__/data/php-only-finally.test +++ b/src/parser/xhpast/__tests__/data/php-only-finally.test @@ -2,106 +2,19 @@ ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree" : [ - 9000, - 0, - 11, - [ - [ - 9006, - 0, - 10, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 10, - [ - [ - 9041, - 2, - 10, - [ - [ - 9006, - 4, - 5 - ], - [ - 9042 - ], - [ - 9113, - 7, - 10, - [ - [ - 9006 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 1 - ], - [ - 342, - 3 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 395, - 7 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > " " + * n_STATEMENT + * n_TRY + > try + > " " + * n_STATEMENT_LIST + > { + > } + * n_CATCH_LIST + * n_FINALLY + * n_STATEMENT_LIST + > "\n" diff --git a/src/parser/xhpast/__tests__/data/php-short-array.php.test b/src/parser/xhpast/__tests__/data/php-short-array.php.test index 4e121e30..58f8da99 100644 --- a/src/parser/xhpast/__tests__/data/php-short-array.php.test +++ b/src/parser/xhpast/__tests__/data/php-short-array.php.test @@ -2,69 +2,15 @@ ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 5, - [ - [ - 9006, - 0, - 4, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 4, - [ - [ - 9082, - 2, - 3, - [ - [ - 9093, - 2, - 3 - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 1 - ], - [ - 91, - 1 - ], - [ - 93, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > " " + * n_STATEMENT + * n_ARRAY_LITERAL + * n_ARRAY_VALUE_LIST + > [ + > ] + > ; + > "\n" diff --git a/src/parser/xhpast/__tests__/data/php-syntax.php.test b/src/parser/xhpast/__tests__/data/php-syntax.php.test index fcbc58e3..5172d414 100644 --- a/src/parser/xhpast/__tests__/data/php-syntax.php.test +++ b/src/parser/xhpast/__tests__/data/php-syntax.php.test @@ -219,11149 +219,2274 @@ goto lbl; ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 1376, - [ - [ - 9006, - 0, - 1375, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 3, - [ - [ - 9086, - 2, - 2 - ] - ] - ], - [ - 9004, - 5, - 9, - [ - [ - 9082, - 5, - 8, - [ - [ - 9093, - 6, - 8, - [ - [ - 9094, - 7, - 7, - [ - [ - 9005 - ], - [ - 9086, - 7, - 7 - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 11, - 18, - [ - [ - 9050, - 11, - 18, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 13, - 13 - ], - [ - 9059, - 14, - 15 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 17, - 18 - ] - ] - ] - ] - ], - [ - 9004, - 20, - 28, - [ - [ - 9050, - 20, - 28, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 22, - 22 - ], - [ - 9059, - 23, - 25, - [ - [ - 9060, - 24, - 24, - [ - [ - 9005 - ], - [ - 9047, - 24, - 24 - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 27, - 28 - ] - ] - ] - ] - ], - [ - 9004, - 30, - 39, - [ - [ - 9050, - 30, - 39, - [ - [ - 9005 - ], - [ - 9048, - 32, - 32 - ], - [ - 9013, - 33, - 33 - ], - [ - 9059, - 34, - 36, - [ - [ - 9060, - 35, - 35, - [ - [ - 9005 - ], - [ - 9047, - 35, - 35 - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 38, - 39 - ] - ] - ] - ] - ], - [ - 9004, - 41, - 50, - [ - [ - 9050, - 41, - 50, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 43, - 43 - ], - [ - 9059, - 44, - 47, - [ - [ - 9060, - 45, - 45, - [ - [ - 9005 - ], - [ - 9049, - 45, - 46, - [ - [ - 9047, - 46, - 46 - ] - ] - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 49, - 50 - ] - ] - ] - ] - ], - [ - 9004, - 52, - 62, - [ - [ - 9050, - 52, - 62, - [ - [ - 9005 - ], - [ - 9048, - 54, - 54 - ], - [ - 9013, - 55, - 55 - ], - [ - 9059, - 56, - 59, - [ - [ - 9060, - 57, - 57, - [ - [ - 9005 - ], - [ - 9049, - 57, - 58, - [ - [ - 9047, - 58, - 58 - ] - ] - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 61, - 62 - ] - ] - ] - ] - ], - [ - 9004, - 64, - 74, - [ - [ - 9050, - 64, - 74, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 66, - 66 - ], - [ - 9059, - 67, - 71, - [ - [ - 9060, - 68, - 70, - [ - [ - 9090, - 68, - 68 - ], - [ - 9047, - 70, - 70 - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 73, - 74 - ] - ] - ] - ] - ], - [ - 9004, - 76, - 86, - [ - [ - 9050, - 76, - 86, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 78, - 78 - ], - [ - 9059, - 79, - 83, - [ - [ - 9060, - 80, - 82, - [ - [ - 9061, - 80, - 80 - ], - [ - 9047, - 82, - 82 - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 85, - 86 - ] - ] - ] - ] - ], - [ - 9004, - 88, - 104, - [ - [ - 9050, - 88, - 104, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 90, - 90 - ], - [ - 9059, - 91, - 101, - [ - [ - 9060, - 92, - 100, - [ - [ - 9061, - 92, - 92 - ], - [ - 9047, - 94, - 94 - ], - [ - 9082, - 98, - 100, - [ - [ - 9093, - 99, - 100 - ] - ] - ] - ] - ] - ] - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 103, - 104 - ] - ] - ] - ] - ], - [ - 9004, - 106, - 118, - [ - [ - 9050, - 106, - 118, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 108, - 108 - ], - [ - 9059, - 109, - 115, - [ - [ - 9060, - 110, - 114, - [ - [ - 9005 - ], - [ - 9047, - 110, - 110 - ], - [ - 9001, - 114, - 114 - ] - ] - ] - ] - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 117, - 118 - ] - ] - ] - ] - ], - [ - 9004, - 120, - 134, - [ - [ - 9050, - 120, - 134, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 122, - 122 - ], - [ - 9059, - 123, - 131, - [ - [ - 9060, - 124, - 130, - [ - [ - 9090, - 124, - 124 - ], - [ - 9047, - 126, - 126 - ], - [ - 9001, - 130, - 130 - ] - ] - ] - ] - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 133, - 134 - ] - ] - ] - ] - ], - [ - 9004, - 136, - 141, - [ - [ - 9051, - 136, - 141, - [ - [ - 9052, - 136, - 136 - ], - [ - 9090, - 138, - 138 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 140, - 141 - ] - ] - ] - ] - ], - [ - 9004, - 143, - 152, - [ - [ - 9051, - 143, - 152, - [ - [ - 9052, - 143, - 143 - ], - [ - 9090, - 145, - 145 - ], - [ - 9054, - 147, - 149, - [ - [ - 9090, - 149, - 149 - ] - ] - ], - [ - 9005 - ], - [ - 9006, - 151, - 152 - ] - ] - ] - ] - ], - [ - 9004, - 154, - 167, - [ - [ - 9051, - 154, - 167, - [ - [ - 9052, - 154, - 154 - ], - [ - 9090, - 156, - 156 - ], - [ - 9054, - 158, - 160, - [ - [ - 9090, - 160, - 160 - ] - ] - ], - [ - 9055, - 162, - 164, - [ - [ - 9090, - 164, - 164 - ] - ] - ], - [ - 9006, - 166, - 167 - ] - ] - ] - ] - ], - [ - 9004, - 169, - 185, - [ - [ - 9051, - 169, - 185, - [ - [ - 9052, - 169, - 169 - ], - [ - 9090, - 171, - 171 - ], - [ - 9054, - 173, - 175, - [ - [ - 9090, - 175, - 175 - ] - ] - ], - [ - 9055, - 177, - 182, - [ - [ - 9090, - 179, - 179 - ], - [ - 9090, - 182, - 182 - ] - ] - ], - [ - 9006, - 184, - 185 - ] - ] - ] - ] - ], - [ - 9004, - 187, - 194, - [ - [ - 9051, - 187, - 194, - [ - [ - 9052, - 187, - 189, - [ - [ - 9013, - 187, - 187 - ] - ] - ], - [ - 9090, - 191, - 191 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 193, - 194 - ] - ] - ] - ] - ], - [ - 9004, - 196, - 203, - [ - [ - 9051, - 196, - 203, - [ - [ - 9052, - 196, - 198, - [ - [ - 9013, - 196, - 196 - ] - ] - ], - [ - 9090, - 200, - 200 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 202, - 203 - ] - ] - ] - ] - ], - [ - 9004, - 205, - 354, - [ - [ - 9051, - 205, - 354, - [ - [ - 9052, - 205, - 207, - [ - [ - 9013, - 205, - 205 - ] - ] - ], - [ - 9090, - 209, - 209 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 211, - 354, - [ - [ - 9004, - 213, - 220, - [ - [ - 9065, - 213, - 219, - [ - [ - 9066, - 215, - 219, - [ - [ - 9013, - 215, - 215 - ], - [ - 9086, - 219, - 219 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 222, - 236, - [ - [ - 9065, - 222, - 235, - [ - [ - 9066, - 224, - 228, - [ - [ - 9013, - 224, - 224 - ], - [ - 9086, - 228, - 228 - ] - ] - ], - [ - 9066, - 231, - 235, - [ - [ - 9013, - 231, - 231 - ], - [ - 9086, - 235, - 235 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 238, - 241, - [ - [ - 9063, - 238, - 240, - [ - [ - 9070, - 238, - 238, - [ - [ - 9013, - 238, - 238 - ] - ] - ], - [ - 9064, - 240, - 240, - [ - [ - 9047, - 240, - 240 - ], - [ - 9005 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 243, - 249, - [ - [ - 9063, - 243, - 248, - [ - [ - 9070, - 243, - 243, - [ - [ - 9013, - 243, - 243 - ] - ] - ], - [ - 9064, - 245, - 245, - [ - [ - 9047, - 245, - 245 - ], - [ - 9005 - ] - ] - ], - [ - 9064, - 248, - 248, - [ - [ - 9047, - 248, - 248 - ], - [ - 9005 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 251, - 254, - [ - [ - 9063, - 251, - 253, - [ - [ - 9070, - 251, - 251, - [ - [ - 9013, - 251, - 251 - ] - ] - ], - [ - 9064, - 253, - 253, - [ - [ - 9047, - 253, - 253 - ], - [ - 9005 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 256, - 262, - [ - [ - 9063, - 256, - 261, - [ - [ - 9070, - 256, - 256, - [ - [ - 9013, - 256, - 256 - ] - ] - ], - [ - 9064, - 258, - 258, - [ - [ - 9047, - 258, - 258 - ], - [ - 9005 - ] - ] - ], - [ - 9064, - 261, - 261, - [ - [ - 9047, - 261, - 261 - ], - [ - 9005 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 264, - 271, - [ - [ - 9063, - 264, - 270, - [ - [ - 9070, - 264, - 264, - [ - [ - 9013, - 264, - 264 - ] - ] - ], - [ - 9064, - 266, - 270, - [ - [ - 9047, - 266, - 266 - ], - [ - 9086, - 270, - 270 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 273, - 289, - [ - [ - 9063, - 273, - 288, - [ - [ - 9070, - 273, - 275, - [ - [ - 9013, - 273, - 273 - ], - [ - 9013, - 275, - 275 - ] - ] - ], - [ - 9064, - 277, - 281, - [ - [ - 9047, - 277, - 277 - ], - [ - 9086, - 281, - 281 - ] - ] - ], - [ - 9064, - 284, - 288, - [ - [ - 9047, - 284, - 284 - ], - [ - 9086, - 288, - 288 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 291, - 298, - [ - [ - 9067, - 291, - 298, - [ - [ - 9068 - ], - [ - 9005 - ], - [ - 9013, - 293, - 293 - ], - [ - 9059, - 294, - 295 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 297, - 298 - ] - ] - ] - ] - ], - [ - 9004, - 300, - 309, - [ - [ - 9067, - 300, - 309, - [ - [ - 9068, - 300, - 300, - [ - [ - 9013, - 300, - 300 - ] - ] - ], - [ - 9005 - ], - [ - 9013, - 304, - 304 - ], - [ - 9059, - 305, - 306 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 308, - 309 - ] - ] - ] - ] - ], - [ - 9004, - 311, - 320, - [ - [ - 9067, - 311, - 320, - [ - [ - 9068, - 311, - 311, - [ - [ - 9013, - 311, - 311 - ] - ] - ], - [ - 9005 - ], - [ - 9013, - 315, - 315 - ], - [ - 9059, - 316, - 317 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 319, - 320 - ] - ] - ] - ] - ], - [ - 9004, - 322, - 331, - [ - [ - 9067, - 322, - 331, - [ - [ - 9068, - 322, - 322, - [ - [ - 9013, - 322, - 322 - ] - ] - ], - [ - 9005 - ], - [ - 9013, - 326, - 326 - ], - [ - 9059, - 327, - 328 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 330, - 331 - ] - ] - ] - ] - ], - [ - 9004, - 333, - 341, - [ - [ - 9067, - 333, - 341, - [ - [ - 9068 - ], - [ - 9048, - 335, - 335 - ], - [ - 9013, - 336, - 336 - ], - [ - 9059, - 337, - 338 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 340, - 341 - ] - ] - ] - ] - ], - [ - 9004, - 343, - 352, - [ - [ - 9067, - 343, - 352, - [ - [ - 9068, - 343, - 343, - [ - [ - 9013, - 343, - 343 - ] - ] - ], - [ - 9005 - ], - [ - 9013, - 347, - 347 - ], - [ - 9059, - 348, - 349 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 351, - 352 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 356, - 373, - [ - [ - 9051, - 356, - 373, - [ - [ - 9052, - 356, - 358, - [ - [ - 9013, - 356, - 356 - ] - ] - ], - [ - 9090, - 360, - 360 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 362, - 373, - [ - [ - 9004, - 364, - 370, - [ - [ - 9067, - 364, - 370, - [ - [ - 9068, - 364, - 364, - [ - [ - 9013, - 364, - 364 - ] - ] - ], - [ - 9005 - ], - [ - 9013, - 368, - 368 - ], - [ - 9059, - 369, - 370 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9005 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 375, - 380, - [ - [ - 9056, - 375, - 380, - [ - [ - 9052 - ], - [ - 9090, - 377, - 377 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 379, - 380 - ] - ] - ] - ] - ], - [ - 9004, - 382, - 391, - [ - [ - 9056, - 382, - 391, - [ - [ - 9052 - ], - [ - 9090, - 384, - 384 - ], - [ - 9054, - 386, - 388, - [ - [ - 9090, - 388, - 388 - ] - ] - ], - [ - 9005 - ], - [ - 9006, - 390, - 391 - ] - ] - ] - ] - ], - [ - 9004, - 393, - 405, - [ - [ - 9056, - 393, - 405, - [ - [ - 9052 - ], - [ - 9090, - 395, - 395 - ], - [ - 9054, - 397, - 402, - [ - [ - 9090, - 399, - 399 - ], - [ - 9090, - 402, - 402 - ] - ] - ], - [ - 9005 - ], - [ - 9006, - 404, - 405 - ] - ] - ] - ] - ], - [ - 9004, - 407, - 410, - [ - [ - 9009, - 407, - 409, - [ - [ - 9010, - 409, - 409, - [ - [ - 9001, - 409, - 409 - ], - [ - 9005 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 412, - 418, - [ - [ - 9009, - 412, - 417, - [ - [ - 9010, - 414, - 414, - [ - [ - 9001, - 414, - 414 - ], - [ - 9005 - ] - ] - ], - [ - 9010, - 417, - 417, - [ - [ - 9001, - 417, - 417 - ], - [ - 9005 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 420, - 446, - [ - [ - 9009, - 420, - 445, - [ - [ - 9010, - 422, - 426, - [ - [ - 9001, - 422, - 422 - ], - [ - 9013, - 426, - 426 - ] - ] - ], - [ - 9010, - 429, - 433, - [ - [ - 9001, - 429, - 429 - ], - [ - 9013, - 433, - 433 - ] - ] - ], - [ - 9010, - 436, - 437, - [ - [ - 9001, - 436, - 437 - ], - [ - 9005 - ] - ] - ], - [ - 9010, - 440, - 445, - [ - [ - 9001, - 440, - 441 - ], - [ - 9013, - 445, - 445 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 448, - 455, - [ - [ - 9011, - 448, - 454, - [ - [ - 9012, - 450, - 454, - [ - [ - 9013, - 450, - 450 - ], - [ - 9086, - 454, - 454 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 457, - 471, - [ - [ - 9011, - 457, - 470, - [ - [ - 9012, - 459, - 463, - [ - [ - 9013, - 459, - 459 - ], - [ - 9086, - 463, - 463 - ] - ] - ], - [ - 9012, - 466, - 470, - [ - [ - 9013, - 466, - 466 - ], - [ - 9086, - 470, - 470 - ] - ] - ] - ] - ] - ] - ], - [ - 9014, - 473, - 474, - [ - [ - 9013, - 473, - 473 - ] - ] - ], - [ - 9004, - 476, - 483, - [ - [ - 9015, - 476, - 483, - [ - [ - 9017, - 476, - 483, - [ - [ - 9016, - 478, - 480, - [ - [ - 9086, - 479, - 479 - ] - ] - ], - [ - 9006, - 482, - 483 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 485, - 497, - [ - [ - 9015, - 485, - 497, - [ - [ - 9017, - 485, - 492, - [ - [ - 9016, - 487, - 489, - [ - [ - 9086, - 488, - 488 - ] - ] - ], - [ - 9006, - 491, - 492 - ] - ] - ], - [ - 9019, - 494, - 497, - [ - [ - 9006, - 496, - 497 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 499, - 520, - [ - [ - 9015, - 499, - 520, - [ - [ - 9017, - 499, - 506, - [ - [ - 9016, - 501, - 503, - [ - [ - 9086, - 502, - 502 - ] - ] - ], - [ - 9006, - 505, - 506 - ] - ] - ], - [ - 9018, - 508, - 515, - [ - [ - 9016, - 510, - 512, - [ - [ - 9086, - 511, - 511 - ] - ] - ], - [ - 9006, - 514, - 515 - ] - ] - ], - [ - 9019, - 517, - 520, - [ - [ - 9006, - 519, - 520 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 522, - 547, - [ - [ - 9015, - 522, - 547, - [ - [ - 9017, - 522, - 529, - [ - [ - 9016, - 524, - 526, - [ - [ - 9086, - 525, - 525 - ] - ] - ], - [ - 9006, - 528, - 529 - ] - ] - ], - [ - 9018, - 531, - 538, - [ - [ - 9016, - 533, - 535, - [ - [ - 9086, - 534, - 534 - ] - ] - ], - [ - 9006, - 537, - 538 - ] - ] - ], - [ - 9018, - 540, - 547, - [ - [ - 9016, - 542, - 544, - [ - [ - 9086, - 543, - 543 - ] - ] - ], - [ - 9006, - 546, - 547 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 549, - 557, - [ - [ - 9015, - 549, - 556, - [ - [ - 9017, - 549, - 553, - [ - [ - 9016, - 551, - 553, - [ - [ - 9086, - 552, - 552 - ] - ] - ], - [ - 9006 - ] - ] - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9004, - 559, - 570, - [ - [ - 9015, - 559, - 569, - [ - [ - 9017, - 559, - 563, - [ - [ - 9016, - 561, - 563, - [ - [ - 9086, - 562, - 562 - ] - ] - ], - [ - 9006 - ] - ] - ], - [ - 9019, - 566, - 566, - [ - [ - 9006 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 572, - 587, - [ - [ - 9015, - 572, - 586, - [ - [ - 9017, - 572, - 576, - [ - [ - 9016, - 574, - 576, - [ - [ - 9086, - 575, - 575 - ] - ] - ], - [ - 9006 - ] - ] - ], - [ - 9018, - 579, - 582, - [ - [ - 9086, - 582, - 582 - ], - [ - 9006 - ] - ] - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9004, - 589, - 611, - [ - [ - 9015, - 589, - 610, - [ - [ - 9017, - 589, - 593, - [ - [ - 9016, - 591, - 593, - [ - [ - 9086, - 592, - 592 - ] - ] - ], - [ - 9006 - ] - ] - ], - [ - 9018, - 596, - 599, - [ - [ - 9086, - 599, - 599 - ], - [ - 9006 - ] - ] - ], - [ - 9018, - 603, - 606, - [ - [ - 9086, - 606, - 606 - ], - [ - 9006 - ] - ] - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9004, - 613, - 620, - [ - [ - 9020, - 613, - 620, - [ - [ - 9016, - 615, - 617, - [ - [ - 9086, - 616, - 616 - ] - ] - ], - [ - 9006, - 619, - 620 - ] - ] - ] - ] - ], - [ - 9004, - 622, - 630, - [ - [ - 9020, - 622, - 630, - [ - [ - 9016, - 624, - 626, - [ - [ - 9086, - 625, - 625 - ] - ] - ], - [ - 9006, - 627, - 630 - ] - ] - ] - ] - ], - [ - 9004, - 632, - 642, - [ - [ - 9021, - 632, - 641, - [ - [ - 9006, - 634, - 635 - ], - [ - 9016, - 639, - 641, - [ - [ - 9086, - 640, - 640 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 644, - 652, - [ - [ - 9022, - 644, - 652, - [ - [ - 9023, - 646, - 649, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9005 - ] - ] - ], - [ - 9006, - 651, - 652 - ] - ] - ] - ] - ], - [ - 9004, - 654, - 663, - [ - [ - 9022, - 654, - 663, - [ - [ - 9023, - 656, - 659, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9005 - ] - ] - ], - [ - 9006, - 660, - 663 - ] - ] - ] - ] - ], - [ - 9004, - 665, - 695, - [ - [ - 9024, - 665, - 695, - [ - [ - 9016, - 667, - 669, - [ - [ - 9086, - 668, - 668 - ] - ] - ], - [ - 9006, - 671, - 695, - [ - [ - 9057, - 673, - 679, - [ - [ - 9086, - 675, - 675 - ], - [ - 9006, - 678, - 679, - [ - [ - 9004, - 678, - 679, - [ - [ - 9025, - 678, - 678, - [ - [ - 9005 - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9057, - 681, - 687, - [ - [ - 9086, - 683, - 683 - ], - [ - 9006, - 686, - 687, - [ - [ - 9004, - 686, - 687, - [ - [ - 9025, - 686, - 686, - [ - [ - 9005 - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9058, - 689, - 693, - [ - [ - 9006, - 692, - 693, - [ - [ - 9004, - 692, - 693, - [ - [ - 9026, - 692, - 692, - [ - [ - 9005 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 697, - 704, - [ - [ - 9024, - 697, - 704, - [ - [ - 9016, - 698, - 700, - [ - [ - 9086, - 699, - 699 - ] - ] - ], - [ - 9006, - 702, - 704, - [ - [ - 9004, - 703, - 703 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 706, - 713, - [ - [ - 9024, - 706, - 713, - [ - [ - 9016, - 707, - 709, - [ - [ - 9086, - 708, - 708 - ] - ] - ], - [ - 9006, - 710, - 713 - ] - ] - ] - ] - ], - [ - 9004, - 715, - 716, - [ - [ - 9025, - 715, - 715, - [ - [ - 9005 - ] - ] - ] - ] - ], - [ - 9004, - 718, - 721, - [ - [ - 9025, - 718, - 720, - [ - [ - 9086, - 720, - 720 - ] - ] - ] - ] - ], - [ - 9004, - 723, - 724, - [ - [ - 9026, - 723, - 723, - [ - [ - 9005 - ] - ] - ] - ] - ], - [ - 9004, - 726, - 729, - [ - [ - 9026, - 726, - 728, - [ - [ - 9086, - 728, - 728 - ] - ] - ] - ] - ], - [ - 9004, - 731, - 732, - [ - [ - 9027, - 731, - 731, - [ - [ - 9005 - ] - ] - ] - ] - ], - [ - 9004, - 734, - 737, - [ - [ - 9027, - 734, - 736, - [ - [ - 9086, - 736, - 736 - ] - ] - ] - ] - ], - [ - 9004, - 739, - 742, - [ - [ - 9027, - 739, - 741, - [ - [ - 9047, - 741, - 741 - ] - ] - ] - ] - ], - [ - 9004, - 744, - 747, - [ - [ - 9028, - 744, - 746, - [ - [ - 9047, - 746, - 746 - ] - ] - ] - ] - ], - [ - 9004, - 749, - 755, - [ - [ - 9028, - 749, - 754, - [ - [ - 9047, - 751, - 751 - ], - [ - 9047, - 754, - 754 - ] - ] - ] - ] - ], - [ - 9004, - 757, - 761, - [ - [ - 9028, - 757, - 760, - [ - [ - 9062, - 759, - 760, - [ - [ - 9047, - 760, - 760 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 763, - 771, - [ - [ - 9028, - 763, - 769, - [ - [ - 9062, - 765, - 769, - [ - [ - 9103, - 767, - 769, - [ - [ - 9047, - 767, - 767 - ], - [ - 9081, - 768, - 768 - ], - [ - 9047, - 769, - 769 - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 773, - 776, - [ - [ - 9030, - 773, - 775, - [ - [ - 9031, - 775, - 775, - [ - [ - 9047, - 775, - 775 - ], - [ - 9005 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 778, - 784, - [ - [ - 9030, - 778, - 783, - [ - [ - 9031, - 780, - 780, - [ - [ - 9047, - 780, - 780 - ], - [ - 9005 - ] - ] - ], - [ - 9031, - 783, - 783, - [ - [ - 9047, - 783, - 783 - ], - [ - 9005 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 786, - 789, - [ - [ - 9032, - 786, - 788, - [ - [ - 9086, - 788, - 788 - ] - ] - ] - ] - ], - [ - 9004, - 791, - 797, - [ - [ - 9032, - 791, - 796, - [ - [ - 9086, - 793, - 793 - ], - [ - 9086, - 796, - 796 - ] - ] - ] - ] - ], - [ - 9004, - 799, - 806, - [ - [ - 9035, - 799, - 805, - [ - [ - 9047, - 801, - 801 - ], - [ - 9047, - 804, - 804 - ] - ] - ] - ] - ], - [ - 9004, - 808, - 819, - [ - [ - 9037, - 808, - 819, - [ - [ - 9038, - 810, - 816, - [ - [ - 9047, - 811, - 811 - ], - [ - 9005 - ], - [ - 9047, - 815, - 815 - ] - ] - ], - [ - 9006, - 818, - 819 - ] - ] - ] - ] - ], - [ - 9004, - 821, - 836, - [ - [ - 9037, - 821, - 836, - [ - [ - 9038, - 823, - 833, - [ - [ - 9047, - 824, - 824 - ], - [ - 9047, - 828, - 828 - ], - [ - 9047, - 832, - 832 - ] - ] - ], - [ - 9006, - 835, - 836 - ] - ] - ] - ] - ], - [ - 9004, - 838, - 854, - [ - [ - 9037, - 838, - 854, - [ - [ - 9038, - 840, - 851, - [ - [ - 9047, - 841, - 841 - ], - [ - 9047, - 845, - 845 - ], - [ - 9049, - 849, - 850, - [ - [ - 9047, - 850, - 850 - ] - ] - ] - ] - ], - [ - 9006, - 853, - 854 - ] - ] - ] - ] - ], - [ - 9004, - 856, - 869, - [ - [ - 9037, - 856, - 869, - [ - [ - 9038, - 858, - 866, - [ - [ - 9082, - 859, - 861, - [ - [ - 9093, - 860, - 861 - ] - ] - ], - [ - 9005 - ], - [ - 9047, - 865, - 865 - ] - ] - ], - [ - 9006, - 868, - 869 - ] - ] - ] - ] - ], - [ - 9004, - 871, - 888, - [ - [ - 9037, - 871, - 888, - [ - [ - 9038, - 873, - 885, - [ - [ - 9082, - 874, - 876, - [ - [ - 9093, - 875, - 876 - ] - ] - ], - [ - 9047, - 880, - 880 - ], - [ - 9047, - 884, - 884 - ] - ] - ], - [ - 9006, - 887, - 888 - ] - ] - ] - ] - ], - [ - 9004, - 890, - 902, - [ - [ - 9037, - 890, - 902, - [ - [ - 9038, - 892, - 898, - [ - [ - 9047, - 893, - 893 - ], - [ - 9005 - ], - [ - 9047, - 897, - 897 - ] - ] - ], - [ - 9006, - 899, - 902 - ] - ] - ] - ] - ], - [ - 9004, - 904, - 910, - [ - [ - 9044, - 904, - 910, - [ - [ - 9045, - 906, - 908, - [ - [ - 9046, - 906, - 908, - [ - [ - 9013, - 906, - 906 - ], - [ - 9086, - 908, - 908 - ] - ] - ] - ] - ], - [ - 9004, - 910, - 910, - [ - [ - 9005 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 912, - 921, - [ - [ - 9044, - 912, - 921, - [ - [ - 9045, - 914, - 916, - [ - [ - 9046, - 914, - 916, - [ - [ - 9013, - 914, - 914 - ], - [ - 9086, - 916, - 916 - ] - ] - ] - ] - ], - [ - 9006, - 919, - 921 - ] - ] - ] - ] - ], - [ - 9004, - 923, - 932, - [ - [ - 9044, - 923, - 932, - [ - [ - 9045, - 925, - 927, - [ - [ - 9046, - 925, - 927, - [ - [ - 9013, - 925, - 925 - ], - [ - 9086, - 927, - 927 - ] - ] - ] - ] - ], - [ - 9006, - 929, - 932 - ] - ] - ] - ] - ], - [ - 9004, - 934, - 948, - [ - [ - 9041, - 934, - 948, - [ - [ - 9006, - 936, - 937 - ], - [ - 9042, - 939, - 948, - [ - [ - 9043, - 939, - 948, - [ - [ - 9090, - 942, - 942 - ], - [ - 9047, - 944, - 944 - ], - [ - 9006, - 947, - 948 - ] - ] - ] - ] - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9004, - 950, - 975, - [ - [ - 9041, - 950, - 975, - [ - [ - 9006, - 952, - 953 - ], - [ - 9042, - 955, - 975, - [ - [ - 9043, - 955, - 964, - [ - [ - 9090, - 958, - 958 - ], - [ - 9047, - 960, - 960 - ], - [ - 9006, - 963, - 964 - ] - ] - ], - [ - 9043, - 966, - 975, - [ - [ - 9090, - 969, - 969 - ], - [ - 9047, - 971, - 971 - ], - [ - 9006, - 974, - 975 - ] - ] - ] - ] - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9004, - 977, - 980, - [ - [ - 9039, - 977, - 979, - [ - [ - 9086, - 979, - 979 - ] - ] - ] - ] - ], - [ - 9004, - 982, - 985, - [ - [ - 9075, - 982, - 984, - [ - [ - 9081, - 982, - 982 - ], - [ - 9047, - 984, - 984 - ] - ] - ] - ] - ], - [ - 9004, - 987, - 992, - [ - [ - 9077, - 987, - 991, - [ - [ - 9047, - 987, - 987 - ], - [ - 9081, - 989, - 989 - ], - [ - 9047, - 991, - 991 - ] - ] - ] - ] - ], - [ - 9004, - 994, - 999, - [ - [ - 9077, - 994, - 998, - [ - [ - 9047, - 994, - 994 - ], - [ - 9081, - 996, - 996 - ], - [ - 9047, - 998, - 998 - ] - ] - ] - ] - ], - [ - 9004, - 1001, - 1006, - [ - [ - 9077, - 1001, - 1005, - [ - [ - 9047, - 1001, - 1001 - ], - [ - 9081, - 1003, - 1003 - ], - [ - 9047, - 1005, - 1005 - ] - ] - ] - ] - ], - [ - 9004, - 1008, - 1013, - [ - [ - 9077, - 1008, - 1012, - [ - [ - 9047, - 1008, - 1008 - ], - [ - 9081, - 1010, - 1010 - ], - [ - 9047, - 1012, - 1012 - ] - ] - ] - ] - ], - [ - 9004, - 1015, - 1020, - [ - [ - 9103, - 1015, - 1019, - [ - [ - 9047, - 1015, - 1015 - ], - [ - 9081, - 1017, - 1017 - ], - [ - 9047, - 1019, - 1019 - ] - ] - ] - ] - ], - [ - 9004, - 1022, - 1027, - [ - [ - 9077, - 1022, - 1026, - [ - [ - 9047, - 1022, - 1022 - ], - [ - 9081, - 1024, - 1024 - ], - [ - 9047, - 1026, - 1026 - ] - ] - ] - ] - ], - [ - 9004, - 1029, - 1034, - [ - [ - 9077, - 1029, - 1033, - [ - [ - 9047, - 1029, - 1029 - ], - [ - 9081, - 1031, - 1031 - ], - [ - 9047, - 1033, - 1033 - ] - ] - ] - ] - ], - [ - 9004, - 1036, - 1041, - [ - [ - 9077, - 1036, - 1040, - [ - [ - 9047, - 1036, - 1036 - ], - [ - 9081, - 1038, - 1038 - ], - [ - 9047, - 1040, - 1040 - ] - ] - ] - ] - ], - [ - 9004, - 1043, - 1048, - [ - [ - 9077, - 1043, - 1047, - [ - [ - 9047, - 1043, - 1043 - ], - [ - 9081, - 1045, - 1045 - ], - [ - 9047, - 1047, - 1047 - ] - ] - ] - ] - ], - [ - 9004, - 1050, - 1055, - [ - [ - 9077, - 1050, - 1054, - [ - [ - 9047, - 1050, - 1050 - ], - [ - 9081, - 1052, - 1052 - ], - [ - 9047, - 1054, - 1054 - ] - ] - ] - ] - ], - [ - 9004, - 1057, - 1062, - [ - [ - 9077, - 1057, - 1061, - [ - [ - 9047, - 1057, - 1057 - ], - [ - 9081, - 1059, - 1059 - ], - [ - 9047, - 1061, - 1061 - ] - ] - ] - ] - ], - [ - 9004, - 1064, - 1066, - [ - [ - 9076, - 1064, - 1065, - [ - [ - 9047, - 1064, - 1064 - ], - [ - 9081, - 1065, - 1065 - ] - ] - ] - ] - ], - [ - 9004, - 1068, - 1070, - [ - [ - 9075, - 1068, - 1069, - [ - [ - 9081, - 1068, - 1068 - ], - [ - 9047, - 1069, - 1069 - ] - ] - ] - ] - ], - [ - 9004, - 1072, - 1074, - [ - [ - 9076, - 1072, - 1073, - [ - [ - 9047, - 1072, - 1072 - ], - [ - 9081, - 1073, - 1073 - ] - ] - ] - ] - ], - [ - 9004, - 1076, - 1078, - [ - [ - 9075, - 1076, - 1077, - [ - [ - 9081, - 1076, - 1076 - ], - [ - 9047, - 1077, - 1077 - ] - ] - ] - ] - ], - [ - 9004, - 1080, - 1082, - [ - [ - 9075, - 1080, - 1081, - [ - [ - 9081, - 1080, - 1080 - ], - [ - 9047, - 1081, - 1081 - ] - ] - ] - ] - ], - [ - 9004, - 1084, - 1086, - [ - [ - 9075, - 1084, - 1085, - [ - [ - 9081, - 1084, - 1084 - ], - [ - 9047, - 1085, - 1085 - ] - ] - ] - ] - ], - [ - 9004, - 1088, - 1090, - [ - [ - 9075, - 1088, - 1089, - [ - [ - 9081, - 1088, - 1088 - ], - [ - 9047, - 1089, - 1089 - ] - ] - ] - ] - ], - [ - 9004, - 1092, - 1094, - [ - [ - 9075, - 1092, - 1093, - [ - [ - 9081, - 1092, - 1092 - ], - [ - 9047, - 1093, - 1093 - ] - ] - ] - ] - ], - [ - 9004, - 1096, - 1101, - [ - [ - 9077, - 1096, - 1100, - [ - [ - 9047, - 1096, - 1096 - ], - [ - 9081, - 1098, - 1098 - ], - [ - 9047, - 1100, - 1100 - ] - ] - ] - ] - ], - [ - 9004, - 1103, - 1108, - [ - [ - 9077, - 1103, - 1107, - [ - [ - 9047, - 1103, - 1103 - ], - [ - 9081, - 1105, - 1105 - ], - [ - 9047, - 1107, - 1107 - ] - ] - ] - ] - ], - [ - 9004, - 1110, - 1115, - [ - [ - 9077, - 1110, - 1114, - [ - [ - 9047, - 1110, - 1110 - ], - [ - 9081, - 1112, - 1112 - ], - [ - 9047, - 1114, - 1114 - ] - ] - ] - ] - ], - [ - 9004, - 1117, - 1122, - [ - [ - 9077, - 1117, - 1121, - [ - [ - 9047, - 1117, - 1117 - ], - [ - 9081, - 1119, - 1119 - ], - [ - 9047, - 1121, - 1121 - ] - ] - ] - ] - ], - [ - 9004, - 1124, - 1129, - [ - [ - 9077, - 1124, - 1128, - [ - [ - 9047, - 1124, - 1124 - ], - [ - 9081, - 1126, - 1126 - ], - [ - 9047, - 1128, - 1128 - ] - ] - ] - ] - ], - [ - 9004, - 1131, - 1136, - [ - [ - 9077, - 1131, - 1135, - [ - [ - 9047, - 1131, - 1131 - ], - [ - 9081, - 1133, - 1133 - ], - [ - 9047, - 1135, - 1135 - ] - ] - ] - ] - ], - [ - 9004, - 1138, - 1143, - [ - [ - 9077, - 1138, - 1142, - [ - [ - 9047, - 1138, - 1138 - ], - [ - 9081, - 1140, - 1140 - ], - [ - 9047, - 1142, - 1142 - ] - ] - ] - ] - ], - [ - 9004, - 1145, - 1150, - [ - [ - 9077, - 1145, - 1149, - [ - [ - 9047, - 1145, - 1145 - ], - [ - 9081, - 1147, - 1147 - ], - [ - 9047, - 1149, - 1149 - ] - ] - ] - ] - ], - [ - 9004, - 1152, - 1157, - [ - [ - 9077, - 1152, - 1156, - [ - [ - 9047, - 1152, - 1152 - ], - [ - 9081, - 1154, - 1154 - ], - [ - 9047, - 1156, - 1156 - ] - ] - ] - ] - ], - [ - 9004, - 1159, - 1164, - [ - [ - 9077, - 1159, - 1163, - [ - [ - 9047, - 1159, - 1159 - ], - [ - 9081, - 1161, - 1161 - ], - [ - 9047, - 1163, - 1163 - ] - ] - ] - ] - ], - [ - 9004, - 1166, - 1169, - [ - [ - 9104, - 1166, - 1168, - [ - [ - 9047, - 1167, - 1167 - ] - ] - ] - ] - ], - [ - 9004, - 1171, - 1182, - [ - [ - 9104, - 1171, - 1181, - [ - [ - 9078, - 1172, - 1180, - [ - [ - 9047, - 1172, - 1172 - ], - [ - 9081, - 1174, - 1174 - ], - [ - 9047, - 1176, - 1176 - ], - [ - 9081, - 1178, - 1178 - ], - [ - 9047, - 1180, - 1180 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 1184, - 1192, - [ - [ - 9104, - 1184, - 1191, - [ - [ - 9078, - 1185, - 1190, - [ - [ - 9047, - 1185, - 1185 - ], - [ - 9081, - 1187, - 1187 - ], - [ - 9005 - ], - [ - 9081, - 1188, - 1188 - ], - [ - 9047, - 1190, - 1190 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 1194, - 1199, - [ - [ - 9077, - 1194, - 1198, - [ - [ - 9047, - 1194, - 1194 - ], - [ - 9081, - 1196, - 1196 - ], - [ - 9047, - 1198, - 1198 - ] - ] - ] - ] - ], - [ - 9004, - 1201, - 1206, - [ - [ - 9077, - 1201, - 1205, - [ - [ - 9047, - 1201, - 1201 - ], - [ - 9081, - 1203, - 1203 - ], - [ - 9047, - 1205, - 1205 - ] - ] - ] - ] - ], - [ - 9004, - 1208, - 1213, - [ - [ - 9077, - 1208, - 1212, - [ - [ - 9047, - 1208, - 1208 - ], - [ - 9081, - 1210, - 1210 - ], - [ - 9047, - 1212, - 1212 - ] - ] - ] - ] - ], - [ - 9004, - 1215, - 1220, - [ - [ - 9077, - 1215, - 1219, - [ - [ - 9047, - 1215, - 1215 - ], - [ - 9081, - 1217, - 1217 - ], - [ - 9047, - 1219, - 1219 - ] - ] - ] - ] - ], - [ - 9004, - 1222, - 1227, - [ - [ - 9077, - 1222, - 1226, - [ - [ - 9047, - 1222, - 1222 - ], - [ - 9081, - 1224, - 1224 - ], - [ - 9047, - 1226, - 1226 - ] - ] - ] - ] - ], - [ - 9004, - 1229, - 1234, - [ - [ - 9077, - 1229, - 1233, - [ - [ - 9047, - 1229, - 1229 - ], - [ - 9081, - 1231, - 1231 - ], - [ - 9047, - 1233, - 1233 - ] - ] - ] - ] - ], - [ - 9004, - 1236, - 1241, - [ - [ - 9077, - 1236, - 1240, - [ - [ - 9047, - 1236, - 1236 - ], - [ - 9081, - 1238, - 1238 - ], - [ - 9047, - 1240, - 1240 - ] - ] - ] - ] - ], - [ - 9004, - 1243, - 1248, - [ - [ - 9077, - 1243, - 1247, - [ - [ - 9047, - 1243, - 1243 - ], - [ - 9081, - 1245, - 1245 - ], - [ - 9047, - 1247, - 1247 - ] - ] - ] - ] - ], - [ - 9004, - 1250, - 1255, - [ - [ - 9077, - 1250, - 1254, - [ - [ - 9047, - 1250, - 1250 - ], - [ - 9081, - 1252, - 1252 - ], - [ - 9047, - 1254, - 1254 - ] - ] - ] - ] - ], - [ - 9004, - 1257, - 1262, - [ - [ - 9077, - 1257, - 1261, - [ - [ - 9047, - 1257, - 1257 - ], - [ - 9081, - 1259, - 1259 - ], - [ - 9047, - 1261, - 1261 - ] - ] - ] - ] - ], - [ - 9004, - 1264, - 1269, - [ - [ - 9077, - 1264, - 1268, - [ - [ - 9047, - 1264, - 1264 - ], - [ - 9081, - 1266, - 1266 - ], - [ - 9047, - 1268, - 1268 - ] - ] - ] - ] - ], - [ - 9004, - 1271, - 1276, - [ - [ - 9077, - 1271, - 1275, - [ - [ - 9047, - 1271, - 1271 - ], - [ - 9081, - 1273, - 1273 - ], - [ - 9047, - 1275, - 1275 - ] - ] - ] - ] - ], - [ - 9004, - 1278, - 1283, - [ - [ - 9077, - 1278, - 1282, - [ - [ - 9047, - 1278, - 1278 - ], - [ - 9081, - 1280, - 1280 - ], - [ - 9047, - 1282, - 1282 - ] - ] - ] - ] - ], - [ - 9004, - 1285, - 1290, - [ - [ - 9077, - 1285, - 1289, - [ - [ - 9047, - 1285, - 1285 - ], - [ - 9081, - 1287, - 1287 - ], - [ - 9047, - 1289, - 1289 - ] - ] - ] - ] - ], - [ - 9004, - 1292, - 1297, - [ - [ - 9077, - 1292, - 1296, - [ - [ - 9047, - 1292, - 1292 - ], - [ - 9081, - 1294, - 1294 - ], - [ - 9047, - 1296, - 1296 - ] - ] - ] - ] - ], - [ - 9004, - 1299, - 1304, - [ - [ - 9077, - 1299, - 1303, - [ - [ - 9047, - 1299, - 1299 - ], - [ - 9081, - 1301, - 1301 - ], - [ - 9047, - 1303, - 1303 - ] - ] - ] - ] - ], - [ - 9004, - 1306, - 1308, - [ - [ - 9079, - 1306, - 1307, - [ - [ - 9080, - 1306, - 1306 - ], - [ - 9047, - 1307, - 1307 - ] - ] - ] - ] - ], - [ - 9004, - 1310, - 1312, - [ - [ - 9079, - 1310, - 1311, - [ - [ - 9080, - 1310, - 1310 - ], - [ - 9047, - 1311, - 1311 - ] - ] - ] - ] - ], - [ - 9004, - 1314, - 1316, - [ - [ - 9079, - 1314, - 1315, - [ - [ - 9080, - 1314, - 1314 - ], - [ - 9047, - 1315, - 1315 - ] - ] - ] - ] - ], - [ - 9004, - 1318, - 1320, - [ - [ - 9079, - 1318, - 1319, - [ - [ - 9080, - 1318, - 1318 - ], - [ - 9047, - 1319, - 1319 - ] - ] - ] - ] - ], - [ - 9004, - 1322, - 1324, - [ - [ - 9079, - 1322, - 1323, - [ - [ - 9080, - 1322, - 1322 - ], - [ - 9047, - 1323, - 1323 - ] - ] - ] - ] - ], - [ - 9004, - 1326, - 1328, - [ - [ - 9079, - 1326, - 1327, - [ - [ - 9080, - 1326, - 1326 - ], - [ - 9047, - 1327, - 1327 - ] - ] - ] - ] - ], - [ - 9004, - 1330, - 1332, - [ - [ - 9079, - 1330, - 1331, - [ - [ - 9080, - 1330, - 1330 - ], - [ - 9047, - 1331, - 1331 - ] - ] - ] - ] - ], - [ - 9004, - 1334, - 1336, - [ - [ - 9079, - 1334, - 1335, - [ - [ - 9080, - 1334, - 1334 - ], - [ - 9047, - 1335, - 1335 - ] - ] - ] - ] - ], - [ - 9004, - 1338, - 1345, - [ - [ - 9077, - 1338, - 1344, - [ - [ - 9100, - 1338, - 1340, - [ - [ - 9047, - 1338, - 1338 - ], - [ - 9005 - ] - ] - ], - [ - 9081, - 1342, - 1342 - ], - [ - 9047, - 1344, - 1344 - ] - ] - ] - ] - ], - [ - 9004, - 1347, - 1349, - [ - [ - 9075, - 1347, - 1348, - [ - [ - 9081, - 1347, - 1347 - ], - [ - 9047, - 1348, - 1348 - ] - ] - ] - ] - ], - [ - 9004, - 1351, - 1352, - [ - [ - 9088, - 1351, - 1351 - ] - ] - ], - [ - 9004, - 1354, - 1355, - [ - [ - 9088, - 1354, - 1354 - ] - ] - ], - [ - 9004, - 1357, - 1358, - [ - [ - 9088, - 1357, - 1357 - ] - ] - ], - [ - 9004, - 1360, - 1361, - [ - [ - 9088, - 1360, - 1360 - ] - ] - ], - [ - 9004, - 1363, - 1364, - [ - [ - 9088, - 1363, - 1363 - ] - ] - ], - [ - 9004, - 1366, - 1367, - [ - [ - 9088, - 1366, - 1366 - ] - ] - ], - [ - 9004, - 1369, - 1370, - [ - [ - 9088, - 1369, - 1369 - ] - ] - ], - [ - 9004, - 1372, - 1375, - [ - [ - 9040, - 1372, - 1374, - [ - [ - 9013, - 1374, - 1374 - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 2 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 365, - 5 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 2 - ], - [ - 40, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 38, - 1 - ], - [ - 311, - 2 - ], - [ - 40, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 2 - ], - [ - 40, - 1 - ], - [ - 38, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 38, - 1 - ], - [ - 311, - 2 - ], - [ - 40, - 1 - ], - [ - 38, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 2 - ], - [ - 40, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 2 - ], - [ - 40, - 1 - ], - [ - 365, - 5 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 2 - ], - [ - 40, - 1 - ], - [ - 365, - 5 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 365, - 5 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 2 - ], - [ - 40, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 4 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 2 - ], - [ - 40, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 4 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 358, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 358, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 360, - 7 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 358, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 360, - 7 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 361, - 10 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 358, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 360, - 7 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 361, - 10 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 349, - 5 - ], - [ - 377, - 1 - ], - [ - 358, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 348, - 8 - ], - [ - 377, - 1 - ], - [ - 358, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 349, - 5 - ], - [ - 377, - 1 - ], - [ - 358, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 3 - ], - [ - 340, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 3 - ], - [ - 340, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 4 - ], - [ - 353, - 3 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 3 - ], - [ - 353, - 3 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 3 - ], - [ - 352, - 6 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 3 - ], - [ - 351, - 9 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 3 - ], - [ - 350, - 7 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 3 - ], - [ - 352, - 6 - ], - [ - 377, - 1 - ], - [ - 347, - 6 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 5 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 3 - ], - [ - 352, - 6 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 2 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 3 - ], - [ - 351, - 9 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 2 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 3 - ], - [ - 350, - 7 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 2 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 3 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 38, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 3 - ], - [ - 347, - 6 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 2 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 348, - 8 - ], - [ - 377, - 1 - ], - [ - 358, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 3 - ], - [ - 348, - 8 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 359, - 9 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 359, - 9 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 360, - 7 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 359, - 9 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 360, - 7 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 345, - 3 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 345, - 3 - ], - [ - 377, - 1 - ], - [ - 311, - 2 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 345, - 3 - ], - [ - 377, - 1 - ], - [ - 311, - 2 - ], - [ - 377, - 1 - ], - [ - 331, - 2 - ], - [ - 377, - 1 - ], - [ - 311, - 2 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 2 - ], - [ - 377, - 1 - ], - [ - 331, - 2 - ], - [ - 377, - 1 - ], - [ - 311, - 2 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 389, - 1 - ], - [ - 311, - 2 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 389, - 1 - ], - [ - 311, - 2 - ], - [ - 377, - 1 - ], - [ - 331, - 2 - ], - [ - 377, - 1 - ], - [ - 311, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 340, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 340, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 3 - ], - [ - 58, - 1 - ], - [ - 377, - 2 - ], - [ - 305, - 2 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 305, - 2 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 307, - 4 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 305, - 2 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 306, - 6 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 307, - 4 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 305, - 2 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 306, - 6 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 306, - 6 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 305, - 2 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 308, - 5 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 305, - 2 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 307, - 4 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 308, - 5 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 305, - 2 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 306, - 6 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 308, - 5 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 305, - 2 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 306, - 6 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 306, - 6 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 308, - 5 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 323, - 5 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 323, - 5 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 324, - 8 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 322, - 2 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 323, - 5 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 3 - ], - [ - 325, - 3 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 59, - 1 - ], - [ - 59, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 325, - 3 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 59, - 1 - ], - [ - 59, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 326, - 6 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 332, - 6 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 3 - ], - [ - 334, - 4 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 5 - ], - [ - 336, - 5 - ], - [ - 59, - 1 - ], - [ - 377, - 3 - ], - [ - 334, - 4 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 5 - ], - [ - 336, - 5 - ], - [ - 59, - 1 - ], - [ - 377, - 3 - ], - [ - 335, - 7 - ], - [ - 58, - 1 - ], - [ - 377, - 5 - ], - [ - 337, - 8 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 332, - 6 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 59, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 332, - 6 - ], - [ - 40, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 333, - 9 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 336, - 5 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 336, - 5 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 337, - 8 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 337, - 8 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 341, - 6 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 341, - 6 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 341, - 6 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 346, - 6 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 346, - 6 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 346, - 6 - ], - [ - 377, - 1 - ], - [ - 36, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 346, - 6 - ], - [ - 377, - 1 - ], - [ - 36, - 1 - ], - [ - 123, - 1 - ], - [ - 313, - 2 - ], - [ - 46, - 1 - ], - [ - 313, - 2 - ], - [ - 125, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 347, - 6 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 347, - 6 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 321, - 4 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 321, - 4 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 354, - 5 - ], - [ - 40, - 1 - ], - [ - 313, - 2 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 327, - 7 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 331, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 327, - 7 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 331, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 363, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 327, - 7 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 331, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 363, - 2 - ], - [ - 377, - 1 - ], - [ - 38, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 327, - 7 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 365, - 5 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 331, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 327, - 7 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 365, - 5 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 331, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 363, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 327, - 7 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 331, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 328, - 10 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 329, - 7 - ], - [ - 40, - 1 - ], - [ - 311, - 1 - ], - [ - 61, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 329, - 7 - ], - [ - 40, - 1 - ], - [ - 311, - 1 - ], - [ - 61, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 329, - 7 - ], - [ - 40, - 1 - ], - [ - 311, - 1 - ], - [ - 61, - 1 - ], - [ - 309, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 330, - 10 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 342, - 3 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 343, - 5 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 342, - 3 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 343, - 5 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 343, - 5 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 344, - 5 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 303, - 5 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 43, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 45, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 42, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 47, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 46, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 37, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 38, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 124, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 94, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 288, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 289, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 291, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 291, - 2 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 292, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 292, - 2 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 43, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 45, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 33, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 126, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 281, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 283, - 3 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 282, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 284, - 3 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 60, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 286, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 62, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 287, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 290, - 10 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 63, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 63, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 279, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 280, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 265, - 3 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 263, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 264, - 3 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 267, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 268, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 269, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 270, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 271, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 272, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 273, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 274, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 275, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 276, - 3 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 277, - 3 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 293, - 5 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 294, - 8 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 295, - 8 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 295, - 8 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 298, - 7 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 299, - 8 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 300, - 6 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 301, - 7 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 91, - 1 - ], - [ - 93, - 1 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 64, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 369, - 8 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 370, - 8 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 388, - 7 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 366, - 9 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 367, - 10 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 368, - 12 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 387, - 13 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 338, - 4 - ], - [ - 377, - 1 - ], - [ - 311, - 3 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n\n" + * n_STATEMENT + * n_NUMERIC_SCALAR + > 1 + > ; + > "\n" + * n_STATEMENT + * n_ARRAY_LITERAL + > array + * n_ARRAY_VALUE_LIST + > ( + * n_ARRAY_VALUE + * n_EMPTY + * n_NUMERIC_SCALAR + > 1 + > ) + > ; + > "\n\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > f + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > f1 + * n_DECLARATION_PARAMETER_LIST + > ( + * n_DECLARATION_PARAMETER + * n_EMPTY + * n_VARIABLE + > $x + * n_EMPTY + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_REFERENCE + > & + * n_STRING + > f2 + * n_DECLARATION_PARAMETER_LIST + > ( + * n_DECLARATION_PARAMETER + * n_EMPTY + * n_VARIABLE + > $x + * n_EMPTY + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > f3 + * n_DECLARATION_PARAMETER_LIST + > ( + * n_DECLARATION_PARAMETER + * n_EMPTY + * n_VARIABLE_REFERENCE + > & + * n_VARIABLE + > $x + * n_EMPTY + > $x + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_REFERENCE + > & + * n_STRING + > f4 + * n_DECLARATION_PARAMETER_LIST + > ( + * n_DECLARATION_PARAMETER + * n_EMPTY + * n_VARIABLE_REFERENCE + > & + * n_VARIABLE + > $x + * n_EMPTY + > $x + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > f5 + * n_DECLARATION_PARAMETER_LIST + > ( + * n_DECLARATION_PARAMETER + * n_CLASS_NAME + > C + > " " + * n_VARIABLE + > $x + * n_EMPTY + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > f6 + * n_DECLARATION_PARAMETER_LIST + > ( + * n_DECLARATION_PARAMETER + * n_TYPE_NAME + > array + > " " + * n_VARIABLE + > $x + * n_EMPTY + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > f7 + * n_DECLARATION_PARAMETER_LIST + > ( + * n_DECLARATION_PARAMETER + * n_TYPE_NAME + > array + > " " + * n_VARIABLE + > $x + > " " + > = + > " " + * n_ARRAY_LITERAL + > array + * n_ARRAY_VALUE_LIST + > ( + > ) + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > f8 + * n_DECLARATION_PARAMETER_LIST + > ( + * n_DECLARATION_PARAMETER + * n_EMPTY + * n_VARIABLE + > $x + > " " + > = + > " " + * n_SYMBOL_NAME + > null + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > f9 + * n_DECLARATION_PARAMETER_LIST + > ( + * n_DECLARATION_PARAMETER + * n_CLASS_NAME + > C + > " " + * n_VARIABLE + > $x + > " " + > = + > " " + * n_SYMBOL_NAME + > null + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n\n" + * n_STATEMENT + * n_CLASS_DECLARATION + * n_CLASS_ATTRIBUTES + > class + > " " + * n_CLASS_NAME + > A + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_CLASS_DECLARATION + * n_CLASS_ATTRIBUTES + > class + > " " + * n_CLASS_NAME + > B + > " " + * n_EXTENDS_LIST + > extends + > " " + * n_CLASS_NAME + > C + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_CLASS_DECLARATION + * n_CLASS_ATTRIBUTES + > class + > " " + * n_CLASS_NAME + > D + > " " + * n_EXTENDS_LIST + > extends + > " " + * n_CLASS_NAME + > E + > " " + * n_IMPLEMENTS_LIST + > implements + > " " + * n_CLASS_NAME + > F + > " " + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_CLASS_DECLARATION + * n_CLASS_ATTRIBUTES + > class + > " " + * n_CLASS_NAME + > G + > " " + * n_EXTENDS_LIST + > extends + > " " + * n_CLASS_NAME + > H + > " " + * n_IMPLEMENTS_LIST + > implements + > " " + * n_CLASS_NAME + > J + > , + > " " + * n_CLASS_NAME + > K + > " " + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_CLASS_DECLARATION + * n_CLASS_ATTRIBUTES + * n_STRING + > final + > " " + > class + > " " + * n_CLASS_NAME + > L + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_CLASS_DECLARATION + * n_CLASS_ATTRIBUTES + * n_STRING + > abstract + > " " + > class + > " " + * n_CLASS_NAME + > M + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n\n" + * n_STATEMENT + * n_CLASS_DECLARATION + * n_CLASS_ATTRIBUTES + * n_STRING + > final + > " " + > class + > " " + * n_CLASS_NAME + > T + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > "\n " + * n_STATEMENT + * n_CLASS_CONSTANT_DECLARATION_LIST + > const + > " " + * n_CLASS_CONSTANT_DECLARATION + * n_STRING + > C + > " " + > = + > " " + * n_NUMERIC_SCALAR + > 1 + > ; + > "\n " + * n_STATEMENT + * n_CLASS_CONSTANT_DECLARATION_LIST + > const + > " " + * n_CLASS_CONSTANT_DECLARATION + * n_STRING + > D + > " " + > = + > " " + * n_NUMERIC_SCALAR + > 1 + > , + > " " + * n_CLASS_CONSTANT_DECLARATION + * n_STRING + > E + > " " + > = + > " " + * n_NUMERIC_SCALAR + > 1 + > ; + > "\n\n " + * n_STATEMENT + * n_CLASS_MEMBER_DECLARATION_LIST + * n_CLASS_MEMBER_MODIFIER_LIST + * n_STRING + > var + > " " + * n_CLASS_MEMBER_DECLARATION + * n_VARIABLE + > $f + * n_EMPTY + > ; + > "\n " + * n_STATEMENT + * n_CLASS_MEMBER_DECLARATION_LIST + * n_CLASS_MEMBER_MODIFIER_LIST + * n_STRING + > var + > " " + * n_CLASS_MEMBER_DECLARATION + * n_VARIABLE + > $g + * n_EMPTY + > , + > " " + * n_CLASS_MEMBER_DECLARATION + * n_VARIABLE + > $h + * n_EMPTY + > ; + > "\n " + * n_STATEMENT + * n_CLASS_MEMBER_DECLARATION_LIST + * n_CLASS_MEMBER_MODIFIER_LIST + * n_STRING + > public + > " " + * n_CLASS_MEMBER_DECLARATION + * n_VARIABLE + > $i + * n_EMPTY + > ; + > "\n " + * n_STATEMENT + * n_CLASS_MEMBER_DECLARATION_LIST + * n_CLASS_MEMBER_MODIFIER_LIST + * n_STRING + > protected + > " " + * n_CLASS_MEMBER_DECLARATION + * n_VARIABLE + > $j + * n_EMPTY + > , + > " " + * n_CLASS_MEMBER_DECLARATION + * n_VARIABLE + > $k + * n_EMPTY + > ; + > "\n " + * n_STATEMENT + * n_CLASS_MEMBER_DECLARATION_LIST + * n_CLASS_MEMBER_MODIFIER_LIST + * n_STRING + > private + > " " + * n_CLASS_MEMBER_DECLARATION + * n_VARIABLE + > $l + > " " + > = + > " " + * n_NUMERIC_SCALAR + > 3 + > ; + > "\n " + * n_STATEMENT + * n_CLASS_MEMBER_DECLARATION_LIST + * n_CLASS_MEMBER_MODIFIER_LIST + * n_STRING + > public + > " " + * n_STRING + > static + > " " + * n_CLASS_MEMBER_DECLARATION + * n_VARIABLE + > $m + > " " + > = + > " " + * n_NUMERIC_SCALAR + > 4 + > , + > " " + * n_CLASS_MEMBER_DECLARATION + * n_VARIABLE + > $n + > " " + > = + > " " + * n_NUMERIC_SCALAR + > 5 + > ; + > "\n\n\n " + * n_STATEMENT + * n_METHOD_DECLARATION + * n_METHOD_MODIFIER_LIST + * n_EMPTY + * n_STRING + > m + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n " + * n_STATEMENT + * n_METHOD_DECLARATION + * n_METHOD_MODIFIER_LIST + * n_STRING + > public + * n_EMPTY + * n_STRING + > m2 + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n " + * n_STATEMENT + * n_METHOD_DECLARATION + * n_METHOD_MODIFIER_LIST + * n_STRING + > protected + * n_EMPTY + * n_STRING + > m3 + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n " + * n_STATEMENT + * n_METHOD_DECLARATION + * n_METHOD_MODIFIER_LIST + * n_STRING + > private + * n_EMPTY + * n_STRING + > m4 + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n " + * n_STATEMENT + * n_METHOD_DECLARATION + * n_METHOD_MODIFIER_LIST + * n_REFERENCE + > & + * n_STRING + > n + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n " + * n_STATEMENT + * n_METHOD_DECLARATION + * n_METHOD_MODIFIER_LIST + * n_STRING + > static + * n_EMPTY + * n_STRING + > n1 + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" + > } + > "\n\n" + * n_STATEMENT + * n_CLASS_DECLARATION + * n_CLASS_ATTRIBUTES + * n_STRING + > abstract + > " " + > class + > " " + * n_CLASS_NAME + > U + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > "\n " + * n_STATEMENT + * n_METHOD_DECLARATION + * n_METHOD_MODIFIER_LIST + * n_STRING + > abstract + * n_EMPTY + * n_STRING + > v + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_EMPTY + * n_EMPTY + > ; + > "\n" + > } + > "\n\n" + * n_STATEMENT + * n_INTERFACE_DECLARATION + * n_CLASS_ATTRIBUTES + * n_CLASS_NAME + > N + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_INTERFACE_DECLARATION + * n_CLASS_ATTRIBUTES + * n_CLASS_NAME + > O + > " " + * n_EXTENDS_LIST + > extends + > " " + * n_CLASS_NAME + > P + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_INTERFACE_DECLARATION + * n_CLASS_ATTRIBUTES + * n_CLASS_NAME + > Q + > " " + * n_EXTENDS_LIST + > extends + > " " + * n_CLASS_NAME + > R + > , + > " " + * n_CLASS_NAME + > S + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n\n" + * n_STATEMENT + * n_USE_LIST + > use + > " " + * n_USE + * n_SYMBOL_NAME + > z + * n_EMPTY + > ; + > "\n" + * n_STATEMENT + * n_USE_LIST + > use + > " " + * n_USE + * n_SYMBOL_NAME + > aa + * n_EMPTY + > , + > " " + * n_USE + * n_SYMBOL_NAME + > ab + * n_EMPTY + > ; + > "\n" + * n_STATEMENT + * n_USE_LIST + > use + > " " + * n_USE + * n_SYMBOL_NAME + > qq + > " " + > as + > " " + * n_STRING + > rr + > , + > " " + * n_USE + * n_SYMBOL_NAME + > mm + > " " + > as + > " " + * n_STRING + > nn + > , + > " " + * n_USE + * n_SYMBOL_NAME + > "\" + > oo + * n_EMPTY + > , + > " " + * n_USE + * n_SYMBOL_NAME + > "\" + > pp + > " " + > as + > " " + * n_STRING + > qq + > ; + > "\n" + * n_STATEMENT + * n_CONSTANT_DECLARATION_LIST + > const + > " " + * n_CONSTANT_DECLARATION + * n_STRING + > F + > " " + > = + > " " + * n_NUMERIC_SCALAR + > 1 + > ; + > "\n" + * n_STATEMENT + * n_CONSTANT_DECLARATION_LIST + > const + > " " + * n_CONSTANT_DECLARATION + * n_STRING + > G + > " " + > = + > " " + * n_NUMERIC_SCALAR + > 2 + > , + > " " + * n_CONSTANT_DECLARATION + * n_STRING + > H + > " " + > = + > " " + * n_NUMERIC_SCALAR + > 3 + > ; + > "\n" + * n_LABEL + * n_STRING + > lbl + > : + > "\n\n" + * n_STATEMENT + * n_CONDITION_LIST + * n_IF + > if + > " " + * n_CONTROL_CONDITION + > ( + * n_NUMERIC_SCALAR + > 1 + > ) + > " " + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_CONDITION_LIST + * n_IF + > if + > " " + * n_CONTROL_CONDITION + > ( + * n_NUMERIC_SCALAR + > 1 + > ) + > " " + * n_STATEMENT_LIST + > { + > } + > " " + * n_ELSE + > else + > " " + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_CONDITION_LIST + * n_IF + > if + > " " + * n_CONTROL_CONDITION + > ( + * n_NUMERIC_SCALAR + > 1 + > ) + > " " + * n_STATEMENT_LIST + > { + > } + > " " + * n_ELSEIF + > elseif + > " " + * n_CONTROL_CONDITION + > ( + * n_NUMERIC_SCALAR + > 2 + > ) + > " " + * n_STATEMENT_LIST + > { + > } + > " " + * n_ELSE + > else + > " " + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_CONDITION_LIST + * n_IF + > if + > " " + * n_CONTROL_CONDITION + > ( + * n_NUMERIC_SCALAR + > 1 + > ) + > " " + * n_STATEMENT_LIST + > { + > } + > " " + * n_ELSEIF + > elseif + > " " + * n_CONTROL_CONDITION + > ( + * n_NUMERIC_SCALAR + > 2 + > ) + > " " + * n_STATEMENT_LIST + > { + > } + > " " + * n_ELSEIF + > elseif + > " " + * n_CONTROL_CONDITION + > ( + * n_NUMERIC_SCALAR + > 3 + > ) + > " " + * n_STATEMENT_LIST + > { + > } + > "\n\n" + * n_STATEMENT + * n_CONDITION_LIST + * n_IF + > if + > " " + * n_CONTROL_CONDITION + > ( + * n_NUMERIC_SCALAR + > 1 + > ) + * n_STATEMENT_LIST + * n_EMPTY + > ; + > "\n\n" + * n_STATEMENT + * n_CONDITION_LIST + * n_IF + > if + > " " + * n_CONTROL_CONDITION + > ( + * n_NUMERIC_SCALAR + > 1 + > ) + * n_STATEMENT_LIST + > : + > "\n" + * n_ELSE + * n_STATEMENT_LIST + > : + > "\n" + > endif + > ; + > "\n\n" + * n_STATEMENT + * n_CONDITION_LIST + * n_IF + > if + > " " + * n_CONTROL_CONDITION + > ( + * n_NUMERIC_SCALAR + > 1 + > ) + * n_STATEMENT_LIST + > : + > "\n" + * n_ELSEIF + > elseif + > " " + > ( + * n_NUMERIC_SCALAR + > 2 + * n_STATEMENT_LIST + * n_EMPTY + > ; + > "\n\n" + * n_STATEMENT + * n_CONDITION_LIST + * n_IF + > if + > " " + * n_CONTROL_CONDITION + > ( + * n_NUMERIC_SCALAR + > 1 + > ) + * n_STATEMENT_LIST + > : + > "\n" + * n_ELSEIF + > elseif + > " " + > ( + * n_NUMERIC_SCALAR + > 2 + * n_STATEMENT_LIST + > ) + > : + > "\n" + * n_ELSEIF + > elseif + > " " + > ( + * n_NUMERIC_SCALAR + > 3 + * n_STATEMENT_LIST + * n_EMPTY + > ; + > "\n\n" + * n_STATEMENT + * n_WHILE + > while + > " " + * n_CONTROL_CONDITION + > ( + * n_NUMERIC_SCALAR + > 1 + > ) + > " " + * n_STATEMENT_LIST + > { + > } + > "\n\n" + * n_STATEMENT + * n_WHILE + > while + > " " + * n_CONTROL_CONDITION + > ( + * n_NUMERIC_SCALAR + > 1 + > ) + * n_STATEMENT_LIST + > : + > "\n" + > endwhile + > ; + > "\n\n" + * n_STATEMENT + * n_DO_WHILE + > do + > " " + * n_STATEMENT_LIST + > { + > } + > " " + > while + > " " + * n_CONTROL_CONDITION + > ( + * n_NUMERIC_SCALAR + > 1 + > ) + > ; + > "\n\n\n" + * n_STATEMENT + * n_FOR + > for + > " " + * n_FOR_EXPRESSION + * n_EMPTY + * n_EMPTY + * n_EMPTY + > " " + * n_STATEMENT_LIST + > { + > } + > "\n\n" + * n_STATEMENT + * n_FOR + > for + > " " + * n_FOR_EXPRESSION + * n_EMPTY + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > : + > "\n" + > endfor + > ; + > "\n\n" + * n_STATEMENT + * n_SWITCH + > switch + > " " + * n_CONTROL_CONDITION + > ( + * n_NUMERIC_SCALAR + > 1 + > ) + > " " + * n_STATEMENT_LIST + > { + > "\n " + * n_CASE + > case + > " " + * n_NUMERIC_SCALAR + > 1 + > : + > "\n " + * n_STATEMENT_LIST + * n_STATEMENT + * n_BREAK + * n_EMPTY + > ; + > "\n " + * n_CASE + > case + > " " + * n_NUMERIC_SCALAR + > 2 + > ; + > "\n " + * n_STATEMENT_LIST + * n_STATEMENT + * n_BREAK + * n_EMPTY + > ; + > "\n " + * n_DEFAULT + > default + > : + > "\n " + * n_STATEMENT_LIST + * n_STATEMENT + * n_CONTINUE + * n_EMPTY + > ; + > "\n" + > } + > "\n\n" + * n_STATEMENT + * n_SWITCH + > switch + * n_CONTROL_CONDITION + > ( + * n_NUMERIC_SCALAR + > 1 + > ) + > " " + * n_STATEMENT_LIST + > { + * n_STATEMENT + > ; + > } + > "\n" + * n_STATEMENT + * n_SWITCH + > switch + * n_CONTROL_CONDITION + > ( + * n_NUMERIC_SCALAR + > 1 + > ) + * n_STATEMENT_LIST + > : + > "\n" + > endswitch + > ; + > "\n\n" + * n_STATEMENT + * n_BREAK + * n_EMPTY + > ; + > "\n" + * n_STATEMENT + * n_BREAK + > break + > " " + * n_NUMERIC_SCALAR + > 1 + > ; + > "\n" + * n_STATEMENT + * n_CONTINUE + * n_EMPTY + > ; + > "\n" + * n_STATEMENT + * n_CONTINUE + > continue + > " " + * n_NUMERIC_SCALAR + > 1 + > ; + > "\n" + * n_STATEMENT + * n_RETURN + * n_EMPTY + > ; + > "\n" + * n_STATEMENT + * n_RETURN + > return + > " " + * n_NUMERIC_SCALAR + > 1 + > ; + > "\n" + * n_STATEMENT + * n_RETURN + > return + > " " + * n_VARIABLE + > $x + > ; + > "\n\n" + * n_STATEMENT + * n_GLOBAL_DECLARATION_LIST + > global + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_GLOBAL_DECLARATION_LIST + > global + > " " + * n_VARIABLE + > $x + > , + > " " + * n_VARIABLE + > $y + > ; + > "\n" + * n_STATEMENT + * n_GLOBAL_DECLARATION_LIST + > global + > " " + * n_VARIABLE_VARIABLE + > $ + * n_VARIABLE + > $q + > ; + > "\n" + * n_STATEMENT + * n_GLOBAL_DECLARATION_LIST + > global + > " " + * n_VARIABLE_VARIABLE + > $ + > { + * n_CONCATENATION_LIST + * n_VARIABLE + > $z + * n_OPERATOR + > . + * n_VARIABLE + > $z + > } + > ; + > "\n" + * n_STATEMENT + * n_STATIC_DECLARATION_LIST + > static + > " " + * n_STATIC_DECLARATION + * n_VARIABLE + > $x + * n_EMPTY + > ; + > "\n" + * n_STATEMENT + * n_STATIC_DECLARATION_LIST + > static + > " " + * n_STATIC_DECLARATION + * n_VARIABLE + > $x + * n_EMPTY + > , + > " " + * n_STATIC_DECLARATION + * n_VARIABLE + > $y + * n_EMPTY + > ; + > "\n\n" + * n_STATEMENT + * n_ECHO_LIST + > echo + > " " + * n_NUMERIC_SCALAR + > 1 + > ; + > "\n" + * n_STATEMENT + * n_ECHO_LIST + > echo + > " " + * n_NUMERIC_SCALAR + > 1 + > , + > " " + * n_NUMERIC_SCALAR + > 2 + > ; + > "\n\n" + * n_STATEMENT + * n_UNSET_LIST + > unset + > ( + * n_VARIABLE + > $a + > , + > " " + * n_VARIABLE + > $b + > ) + > ; + > "\n\n" + * n_STATEMENT + * n_FOREACH + > foreach + > " " + * n_FOREACH_EXPRESSION + > ( + * n_VARIABLE + > $x + * n_EMPTY + * n_VARIABLE + > $y + > ) + > " " + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_FOREACH + > foreach + > " " + * n_FOREACH_EXPRESSION + > ( + * n_VARIABLE + > $x + > " " + > as + > " " + * n_VARIABLE + > $k + > " " + > => + > " " + * n_VARIABLE + > $y + > ) + > " " + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_FOREACH + > foreach + > " " + * n_FOREACH_EXPRESSION + > ( + * n_VARIABLE + > $x + > " " + > as + > " " + * n_VARIABLE + > $k + > " " + > => + > " " + * n_VARIABLE_REFERENCE + > & + * n_VARIABLE + > $y + > ) + > " " + * n_STATEMENT_LIST + > { + > } + > "\n\n" + * n_STATEMENT + * n_FOREACH + > foreach + > " " + * n_FOREACH_EXPRESSION + > ( + * n_ARRAY_LITERAL + > array + * n_ARRAY_VALUE_LIST + > ( + > ) + * n_EMPTY + * n_VARIABLE + > $x + > ) + > " " + * n_STATEMENT_LIST + > { + > } + > "\n" + * n_STATEMENT + * n_FOREACH + > foreach + > " " + * n_FOREACH_EXPRESSION + > ( + * n_ARRAY_LITERAL + > array + * n_ARRAY_VALUE_LIST + > ( + > ) + > " " + > as + > " " + * n_VARIABLE + > $k + > " " + > => + > " " + * n_VARIABLE + > $y + > ) + > " " + * n_STATEMENT_LIST + > { + > } + > "\n\n" + * n_STATEMENT + * n_FOREACH + > foreach + > " " + * n_FOREACH_EXPRESSION + > ( + * n_VARIABLE + > $x + * n_EMPTY + * n_VARIABLE + > $y + > ) + * n_STATEMENT_LIST + > : + > "\n" + > endforeach + > ; + > "\n\n" + * n_STATEMENT + * n_DECLARE + > declare + > ( + * n_DECLARE_DECLARATION_LIST + * n_DECLARE_DECLARATION + * n_STRING + > x + > = + * n_NUMERIC_SCALAR + > 1 + > ) + * n_STATEMENT + * n_EMPTY + > "\n\n" + * n_STATEMENT + * n_DECLARE + > declare + > ( + * n_DECLARE_DECLARATION_LIST + * n_DECLARE_DECLARATION + * n_STRING + > y + > = + * n_NUMERIC_SCALAR + > 1 + > ) + > " " + * n_STATEMENT_LIST + > { + > "\n" + > } + > "\n\n" + * n_STATEMENT + * n_DECLARE + > declare + > ( + * n_DECLARE_DECLARATION_LIST + * n_DECLARE_DECLARATION + * n_STRING + > z + > = + * n_NUMERIC_SCALAR + > 1 + > ) + * n_STATEMENT_LIST + > : + > "\n" + > enddeclare + > ; + > "\n\n" + * n_STATEMENT + * n_TRY + > try + > " " + * n_STATEMENT_LIST + > { + > } + > " " + * n_CATCH_LIST + * n_CATCH + > catch + > " " + > ( + * n_CLASS_NAME + > C + > " " + * n_VARIABLE + > $x + > ) + > " " + * n_STATEMENT_LIST + > { + > } + * n_EMPTY + > "\n" + * n_STATEMENT + * n_TRY + > try + > " " + * n_STATEMENT_LIST + > { + > } + > " " + * n_CATCH_LIST + * n_CATCH + > catch + > " " + > ( + * n_CLASS_NAME + > C + > " " + * n_VARIABLE + > $x + > ) + > " " + * n_STATEMENT_LIST + > { + > } + > " " + * n_CATCH + > catch + > " " + > ( + * n_CLASS_NAME + > D + > " " + * n_VARIABLE + > $x + > ) + > " " + * n_STATEMENT_LIST + > { + > } + * n_EMPTY + > "\n\n" + * n_STATEMENT + * n_THROW + > throw + > " " + * n_NUMERIC_SCALAR + > 1 + > ; + > "\n\n" + * n_STATEMENT + * n_UNARY_PREFIX_EXPRESSION + * n_OPERATOR + > clone + > " " + * n_VARIABLE + > $q + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > + + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > - + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > * + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > / + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_CONCATENATION_LIST + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > . + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > % + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > & + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > | + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > ^ + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > << + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > >> + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_UNARY_POSTFIX_EXPRESSION + * n_VARIABLE + > $x + * n_OPERATOR + > ++ + > ; + > "\n" + * n_STATEMENT + * n_UNARY_PREFIX_EXPRESSION + * n_OPERATOR + > ++ + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_UNARY_POSTFIX_EXPRESSION + * n_VARIABLE + > $x + * n_OPERATOR + > -- + > ; + > "\n" + * n_STATEMENT + * n_UNARY_PREFIX_EXPRESSION + * n_OPERATOR + > -- + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_UNARY_PREFIX_EXPRESSION + * n_OPERATOR + > + + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_UNARY_PREFIX_EXPRESSION + * n_OPERATOR + > - + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_UNARY_PREFIX_EXPRESSION + * n_OPERATOR + > ! + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_UNARY_PREFIX_EXPRESSION + * n_OPERATOR + > ~ + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > == + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > === + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > != + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > !== + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > = + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > < + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > <= + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > > + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > >= + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > instanceof + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_PARENTHETICAL_EXPRESSION + > ( + * n_VARIABLE + > $x + > ) + > ; + > "\n" + * n_STATEMENT + * n_PARENTHETICAL_EXPRESSION + > ( + * n_TERNARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > ? + > " " + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > : + > " " + * n_VARIABLE + > $x + > ) + > ; + > "\n" + * n_STATEMENT + * n_PARENTHETICAL_EXPRESSION + > ( + * n_TERNARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > ? + * n_EMPTY + * n_OPERATOR + > : + > " " + * n_VARIABLE + > $x + > ) + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > || + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > && + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > and + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > or + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > xor + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > += + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > -= + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > *= + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > /= + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > .= + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > %= + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > &= + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > |= + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > ^= + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > <<= + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $x + > " " + * n_OPERATOR + > >>= + > " " + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_CAST_EXPRESSION + * n_CAST + > (int) + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_CAST_EXPRESSION + * n_CAST + > (double) + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_CAST_EXPRESSION + * n_CAST + > (string) + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_CAST_EXPRESSION + * n_CAST + > (binary) + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_CAST_EXPRESSION + * n_CAST + > (array) + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_CAST_EXPRESSION + * n_CAST + > (object) + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_CAST_EXPRESSION + * n_CAST + > (bool) + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_CAST_EXPRESSION + * n_CAST + > (unset) + * n_VARIABLE + > $x + > ; + > "\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_INDEX_ACCESS + * n_VARIABLE + > $x + * n_EMPTY + > " " + * n_OPERATOR + > = + > " " + * n_VARIABLE + > $x + > ; + > "\n\n" + * n_STATEMENT + * n_UNARY_PREFIX_EXPRESSION + * n_OPERATOR + > @ + * n_VARIABLE + > $x + > ; + > "\n\n" + * n_STATEMENT + * n_MAGIC_SCALAR + > __LINE__ + > ; + > "\n" + * n_STATEMENT + * n_MAGIC_SCALAR + > __FILE__ + > ; + > "\n" + * n_STATEMENT + * n_MAGIC_SCALAR + > __DIR__ + > ; + > "\n" + * n_STATEMENT + * n_MAGIC_SCALAR + > __CLASS__ + > ; + > "\n" + * n_STATEMENT + * n_MAGIC_SCALAR + > __METHOD__ + > ; + > "\n" + * n_STATEMENT + * n_MAGIC_SCALAR + > __FUNCTION__ + > ; + > "\n" + * n_STATEMENT + * n_MAGIC_SCALAR + > __NAMESPACE__ + > ; + > "\n\n" + * n_STATEMENT + * n_GOTO + > goto + > " " + * n_STRING + > lbl + > ; + > "\n" diff --git a/src/parser/xhpast/__tests__/data/php-tags.php.test b/src/parser/xhpast/__tests__/data/php-tags.php.test index d96ae106..ae0412ee 100644 --- a/src/parser/xhpast/__tests__/data/php-tags.php.test +++ b/src/parser/xhpast/__tests__/data/php-tags.php.test @@ -6,210 +6,43 @@ ~~~~~~~~~~ pass, comment="Omits ASP tags since parser support is off as built." ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 21, - [ - [ - 9006, - 0, - 21, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 3, - [ - [ - 9086, - 2, - 2 - ] - ] - ], - [ - 9004, - 5, - 5, - [ - [ - 9005 - ] - ] - ], - [ - 9007, - 6, - 6 - ], - [ - 9004, - 8, - 9, - [ - [ - 9086, - 8, - 8 - ] - ] - ], - [ - 9004, - 11, - 11, - [ - [ - 9005 - ] - ] - ], - [ - 9007, - 12, - 12 - ], - [ - 9004, - 14, - 15, - [ - [ - 9086, - 14, - 14 - ] - ] - ], - [ - 9004, - 17, - 17, - [ - [ - 9005 - ] - ] - ], - [ - 9034, - 18, - 18 - ], - [ - 9034, - 19, - 19 - ], - [ - 9034, - 20, - 20 - ], - [ - 9034, - 21, - 21 - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 376, - 3 - ], - [ - 373, - 2 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 376, - 3 - ], - [ - 374, - 3 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 376, - 3 - ], - [ - 315, - 1 - ], - [ - 315, - 5 - ], - [ - 315, - 1 - ], - [ - 315, - 5 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > " " + * n_STATEMENT + * n_NUMERIC_SCALAR + > 1 + > ; + > " " + * n_STATEMENT + * n_EMPTY + * n_OPEN_TAG + > " " + * n_STATEMENT + * n_NUMERIC_SCALAR + > 1 + > ; + > " " + * n_STATEMENT + * n_EMPTY + * n_OPEN_TAG + > " " + * n_STATEMENT + * n_NUMERIC_SCALAR + > 1 + > ; + > " " + * n_STATEMENT + * n_EMPTY + * n_INLINE_HTML + > < + * n_INLINE_HTML + > "a />\n" + * n_INLINE_HTML + > < + * n_INLINE_HTML + > "b ?>\n" diff --git a/src/parser/xhpast/__tests__/data/php-traits.php.test b/src/parser/xhpast/__tests__/data/php-traits.php.test index 060ea50c..93069f1f 100644 --- a/src/parser/xhpast/__tests__/data/php-traits.php.test +++ b/src/parser/xhpast/__tests__/data/php-traits.php.test @@ -26,913 +26,190 @@ class F { ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 118, - [ - [ - 9006, - 0, - 117, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 17, - [ - [ - 9051, - 2, - 17, - [ - [ - 9052, - 2, - 2, - [ - [ - 9013, - 2, - 2 - ] - ] - ], - [ - 9090, - 4, - 4 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 6, - 17, - [ - [ - 9004, - 8, - 15, - [ - [ - 9067, - 8, - 15, - [ - [ - 9068 - ], - [ - 9005 - ], - [ - 9013, - 10, - 10 - ], - [ - 9059, - 11, - 12 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 14, - 15 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 19, - 30, - [ - [ - 9051, - 19, - 30, - [ - [ - 9052, - 19, - 19 - ], - [ - 9090, - 21, - 21 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 23, - 30, - [ - [ - 9105, - 25, - 27, - [ - [ - 9090, - 27, - 27 - ], - [ - 9005 - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 32, - 46, - [ - [ - 9051, - 32, - 46, - [ - [ - 9052, - 32, - 32 - ], - [ - 9090, - 34, - 34 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 36, - 46, - [ - [ - 9105, - 38, - 43, - [ - [ - 9090, - 40, - 40 - ], - [ - 9090, - 43, - 43 - ], - [ - 9005 - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 48, - 94, - [ - [ - 9051, - 48, - 94, - [ - [ - 9052, - 48, - 48 - ], - [ - 9090, - 50, - 50 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 52, - 94, - [ - [ - 9105, - 54, - 92, - [ - [ - 9090, - 56, - 56 - ], - [ - 9090, - 59, - 59 - ], - [ - 9107, - 61, - 92, - [ - [ - 9108, - 63, - 70, - [ - [ - 9110, - 63, - 65 - ], - [ - 9109, - 69, - 69, - [ - [ - 9090, - 69, - 69 - ] - ] - ] - ] - ], - [ - 9111, - 72, - 79, - [ - [ - 9110, - 72, - 74 - ], - [ - 9005 - ], - [ - 9013, - 78, - 78 - ] - ] - ], - [ - 9111, - 81, - 90, - [ - [ - 9110, - 81, - 83 - ], - [ - 9068, - 87, - 87, - [ - [ - 9013, - 87, - 87 - ] - ] - ], - [ - 9013, - 89, - 89 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 96, - 117, - [ - [ - 9051, - 96, - 117, - [ - [ - 9052, - 96, - 96 - ], - [ - 9090, - 98, - 98 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 100, - 117, - [ - [ - 9105, - 102, - 115, - [ - [ - 9090, - 104, - 104 - ], - [ - 9107, - 106, - 115, - [ - [ - 9111, - 108, - 113, - [ - [ - 9110, - 108, - 108, - [ - [ - 9013, - 108, - 108 - ] - ] - ], - [ - 0, - 112, - 112 - ], - [ - 9005 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 2 - ], - [ - 392, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 3 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 358, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 3 - ], - [ - 345, - 3 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 358, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 3 - ], - [ - 345, - 3 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 358, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 3 - ], - [ - 345, - 3 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 5 - ], - [ - 311, - 1 - ], - [ - 383, - 2 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 390, - 9 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 5 - ], - [ - 311, - 1 - ], - [ - 383, - 2 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 331, - 2 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 5 - ], - [ - 311, - 1 - ], - [ - 383, - 2 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 331, - 2 - ], - [ - 377, - 1 - ], - [ - 350, - 7 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 3 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 358, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 3 - ], - [ - 345, - 3 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 331, - 2 - ], - [ - 377, - 1 - ], - [ - 351, - 9 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n\n" + * n_STATEMENT + * n_CLASS_DECLARATION + * n_CLASS_ATTRIBUTES + * n_STRING + > trait + > " " + * n_CLASS_NAME + > T + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > "\n " + * n_STATEMENT + * n_METHOD_DECLARATION + * n_METHOD_MODIFIER_LIST + * n_EMPTY + * n_STRING + > f + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > } + > "\n" + > } + > "\n\n" + * n_STATEMENT + * n_CLASS_DECLARATION + * n_CLASS_ATTRIBUTES + > class + > " " + * n_CLASS_NAME + > C + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > "\n " + * n_TRAIT_USE + > use + > " " + * n_CLASS_NAME + > T + * n_EMPTY + > ; + > "\n" + > } + > "\n\n" + * n_STATEMENT + * n_CLASS_DECLARATION + * n_CLASS_ATTRIBUTES + > class + > " " + * n_CLASS_NAME + > D + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > "\n " + * n_TRAIT_USE + > use + > " " + * n_CLASS_NAME + > T + > , + > " " + * n_CLASS_NAME + > U + * n_EMPTY + > ; + > "\n" + > } + > "\n\n" + * n_STATEMENT + * n_CLASS_DECLARATION + * n_CLASS_ATTRIBUTES + > class + > " " + * n_CLASS_NAME + > E + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > "\n " + * n_TRAIT_USE + > use + > " " + * n_CLASS_NAME + > T + > , + > " " + * n_CLASS_NAME + > U + > " " + * n_TRAIT_ADAPTATION_LIST + > { + > "\n " + * n_TRAIT_INSTEADOF + * n_TRAIT_METHOD_REFERENCE + > T + > :: + > x + > " " + > insteadof + > " " + * n_TRAIT_REFERENCE_LIST + * n_CLASS_NAME + > U + > ; + > "\n " + * n_TRAIT_AS + * n_TRAIT_METHOD_REFERENCE + > T + > :: + > x + * n_EMPTY + * n_STRING + > y + > ; + > "\n " + * n_TRAIT_AS + * n_TRAIT_METHOD_REFERENCE + > T + > :: + > z + > " " + > as + > " " + * n_METHOD_MODIFIER_LIST + * n_STRING + > private + > " " + * n_STRING + > z + > ; + > "\n " + > } + > "\n" + > } + > "\n\n" + * n_STATEMENT + * n_CLASS_DECLARATION + * n_CLASS_ATTRIBUTES + > class + > " " + * n_CLASS_NAME + > F + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > "\n " + * n_TRAIT_USE + > use + > " " + * n_CLASS_NAME + > Q + > " " + * n_TRAIT_ADAPTATION_LIST + > { + > " " + * n_TRAIT_AS + * n_TRAIT_METHOD_REFERENCE + * n_STRING + > q + > " " + > as + > " " + * "" + > protected + * n_EMPTY + > " " + > } + > "\n" + > } + > "\n" diff --git a/src/parser/xhpast/__tests__/data/php-yield.php.test b/src/parser/xhpast/__tests__/data/php-yield.php.test index fd3532cf..c4d36512 100644 --- a/src/parser/xhpast/__tests__/data/php-yield.php.test +++ b/src/parser/xhpast/__tests__/data/php-yield.php.test @@ -11,439 +11,90 @@ function g() { ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 54, - [ - [ - 9006, - 0, - 53, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 53, - [ - [ - 9050, - 2, - 53, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 4, - 4 - ], - [ - 9059, - 5, - 6 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 8, - 53, - [ - [ - 9004, - 10, - 11, - [ - [ - 9112, - 10, - 10, - [ - [ - 9005 - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9004, - 13, - 16, - [ - [ - 9112, - 13, - 15, - [ - [ - 9047, - 15, - 15, - [ - [ - 9005 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 18, - 25, - [ - [ - 9112, - 18, - 24, - [ - [ - 9047, - 20, - 20 - ], - [ - 9047, - 24, - 24 - ] - ] - ] - ] - ], - [ - 9004, - 27, - 36, - [ - [ - 9077, - 27, - 35, - [ - [ - 9047, - 27, - 27 - ], - [ - 9081, - 29, - 29 - ], - [ - 9112, - 31, - 35, - [ - [ - 9047, - 34, - 34, - [ - [ - 9005 - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 38, - 51, - [ - [ - 9077, - 38, - 50, - [ - [ - 9047, - 38, - 38 - ], - [ - 9081, - 40, - 40 - ], - [ - 9112, - 42, - 50, - [ - [ - 9047, - 45, - 45 - ], - [ - 9047, - 49, - 49 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 2 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 3 - ], - [ - 394, - 5 - ], - [ - 59, - 1 - ], - [ - 377, - 3 - ], - [ - 394, - 5 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 3 - ], - [ - 394, - 5 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 363, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 59, - 1 - ], - [ - 377, - 4 - ], - [ - 313, - 5 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 394, - 5 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 3 - ], - [ - 313, - 5 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 394, - 5 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 377, - 1 - ], - [ - 363, - 2 - ], - [ - 377, - 1 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > g + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > "\n " + * n_STATEMENT + * n_YIELD + * n_EMPTY + * n_EMPTY + > ; + > "\n " + * n_STATEMENT + * n_YIELD + > yield + > " " + * n_VARIABLE + * n_EMPTY + > ; + > "\n " + * n_STATEMENT + * n_YIELD + > yield + > " " + * n_VARIABLE + > $y + > " " + > => + > " " + * n_VARIABLE + > $z + > ; + > "\n\n " + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $data + > " " + * n_OPERATOR + > = + > " " + * n_YIELD + > ( + > yield + > " " + * n_VARIABLE + * n_EMPTY + > ) + > ; + > "\n " + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $data + > " " + * n_OPERATOR + > = + > " " + * n_YIELD + > ( + > yield + > " " + * n_VARIABLE + > $b + > " " + > => + > " " + * n_VARIABLE + > $c + > ) + > ; + > "\n" + > } + > "\n" diff --git a/src/parser/xhpast/__tests__/data/return-type.php.test b/src/parser/xhpast/__tests__/data/return-type.php.test index 6b3c4737..25160b77 100644 --- a/src/parser/xhpast/__tests__/data/return-type.php.test +++ b/src/parser/xhpast/__tests__/data/return-type.php.test @@ -36,2162 +36,405 @@ $funcs = [ ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 261, - [ - [ - 9006, - 0, - 260, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 12, - [ - [ - 9050, - 2, - 12, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 4, - 4 - ], - [ - 9059, - 5, - 6 - ], - [ - 9005 - ], - [ - 9115, - 9, - 9, - [ - [ - 9090, - 9, - 9 - ] - ] - ], - [ - 9006, - 11, - 12 - ] - ] - ] - ] - ], - [ - 9004, - 14, - 24, - [ - [ - 9050, - 14, - 24, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 16, - 16 - ], - [ - 9059, - 17, - 18 - ], - [ - 9005 - ], - [ - 9115, - 21, - 21, - [ - [ - 9061, - 21, - 21 - ] - ] - ], - [ - 9006, - 23, - 24 - ] - ] - ] - ] - ], - [ - 9004, - 26, - 36, - [ - [ - 9050, - 26, - 36, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 28, - 28 - ], - [ - 9059, - 29, - 30 - ], - [ - 9005 - ], - [ - 9115, - 33, - 33, - [ - [ - 9061, - 33, - 33 - ] - ] - ], - [ - 9006, - 35, - 36 - ] - ] - ] - ] - ], - [ - 9004, - 38, - 49, - [ - [ - 9050, - 38, - 49, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 40, - 40 - ], - [ - 9059, - 41, - 42 - ], - [ - 9005 - ], - [ - 9115, - 46, - 46, - [ - [ - 9116, - 46, - 46, - [ - [ - 9090, - 46, - 46 - ] - ] - ] - ] - ], - [ - 9006, - 48, - 49 - ] - ] - ] - ] - ], - [ - 9004, - 51, - 61, - [ - [ - 9050, - 51, - 61, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 53, - 53 - ], - [ - 9059, - 54, - 55 - ], - [ - 9005 - ], - [ - 9115, - 58, - 58, - [ - [ - 9090, - 58, - 58 - ] - ] - ], - [ - 9006, - 60, - 61 - ] - ] - ] - ] - ], - [ - 9004, - 64, - 75, - [ - [ - 9050, - 64, - 75, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 66, - 66 - ], - [ - 9059, - 67, - 68 - ], - [ - 9005 - ], - [ - 9115, - 72, - 72, - [ - [ - 9116, - 72, - 72, - [ - [ - 9090, - 72, - 72 - ] - ] - ] - ] - ], - [ - 9006, - 74, - 75 - ] - ] - ] - ] - ], - [ - 9004, - 77, - 119, - [ - [ - 9051, - 77, - 119, - [ - [ - 9052, - 77, - 77 - ], - [ - 9090, - 79, - 79 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 81, - 119, - [ - [ - 9004, - 83, - 93, - [ - [ - 9067, - 83, - 93, - [ - [ - 9068 - ], - [ - 9005 - ], - [ - 9013, - 85, - 85 - ], - [ - 9059, - 86, - 87 - ], - [ - 9005 - ], - [ - 9115, - 90, - 90, - [ - [ - 9090, - 90, - 90 - ] - ] - ], - [ - 9006, - 92, - 93 - ] - ] - ] - ] - ], - [ - 9004, - 95, - 105, - [ - [ - 9067, - 95, - 105, - [ - [ - 9068 - ], - [ - 9005 - ], - [ - 9013, - 97, - 97 - ], - [ - 9059, - 98, - 99 - ], - [ - 9005 - ], - [ - 9115, - 102, - 102, - [ - [ - 9061, - 102, - 102 - ] - ] - ], - [ - 9006, - 104, - 105 - ] - ] - ] - ] - ], - [ - 9004, - 107, - 117, - [ - [ - 9067, - 107, - 117, - [ - [ - 9068 - ], - [ - 9005 - ], - [ - 9013, - 109, - 109 - ], - [ - 9059, - 110, - 111 - ], - [ - 9005 - ], - [ - 9115, - 114, - 114, - [ - [ - 9061, - 114, - 114 - ] - ] - ], - [ - 9006, - 116, - 117 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 121, - 260, - [ - [ - 9077, - 121, - 259, - [ - [ - 9047, - 121, - 121 - ], - [ - 9081, - 123, - 123 - ], - [ - 9082, - 125, - 259, - [ - [ - 9093, - 125, - 259, - [ - [ - 9094, - 127, - 136, - [ - [ - 9005 - ], - [ - 9050, - 127, - 136, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9059, - 129, - 130 - ], - [ - 9005 - ], - [ - 9115, - 133, - 133, - [ - [ - 9090, - 133, - 133 - ] - ] - ], - [ - 9006, - 135, - 136 - ] - ] - ] - ] - ], - [ - 9094, - 139, - 148, - [ - [ - 9005 - ], - [ - 9050, - 139, - 148, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9059, - 141, - 142 - ], - [ - 9005 - ], - [ - 9115, - 145, - 145, - [ - [ - 9061, - 145, - 145 - ] - ] - ], - [ - 9006, - 147, - 148 - ] - ] - ] - ] - ], - [ - 9094, - 151, - 160, - [ - [ - 9005 - ], - [ - 9050, - 151, - 160, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9059, - 153, - 154 - ], - [ - 9005 - ], - [ - 9115, - 157, - 157, - [ - [ - 9061, - 157, - 157 - ] - ] - ], - [ - 9006, - 159, - 160 - ] - ] - ] - ] - ], - [ - 9094, - 163, - 173, - [ - [ - 9005 - ], - [ - 9050, - 163, - 173, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9059, - 165, - 166 - ], - [ - 9005 - ], - [ - 9115, - 170, - 170, - [ - [ - 9116, - 170, - 170, - [ - [ - 9090, - 170, - 170 - ] - ] - ] - ] - ], - [ - 9006, - 172, - 173 - ] - ] - ] - ] - ], - [ - 9094, - 176, - 185, - [ - [ - 9005 - ], - [ - 9050, - 176, - 185, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9059, - 178, - 179 - ], - [ - 9005 - ], - [ - 9115, - 182, - 182, - [ - [ - 9090, - 182, - 182 - ] - ] - ], - [ - 9006, - 184, - 185 - ] - ] - ] - ] - ], - [ - 9094, - 188, - 199, - [ - [ - 9005 - ], - [ - 9050, - 188, - 199, - [ - [ - 9013, - 188, - 188 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9059, - 192, - 193 - ], - [ - 9005 - ], - [ - 9115, - 196, - 196, - [ - [ - 9090, - 196, - 196 - ] - ] - ], - [ - 9006, - 198, - 199 - ] - ] - ] - ] - ], - [ - 9094, - 202, - 213, - [ - [ - 9005 - ], - [ - 9050, - 202, - 213, - [ - [ - 9013, - 202, - 202 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9059, - 206, - 207 - ], - [ - 9005 - ], - [ - 9115, - 210, - 210, - [ - [ - 9061, - 210, - 210 - ] - ] - ], - [ - 9006, - 212, - 213 - ] - ] - ] - ] - ], - [ - 9094, - 216, - 227, - [ - [ - 9005 - ], - [ - 9050, - 216, - 227, - [ - [ - 9013, - 216, - 216 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9059, - 220, - 221 - ], - [ - 9005 - ], - [ - 9115, - 224, - 224, - [ - [ - 9061, - 224, - 224 - ] - ] - ], - [ - 9006, - 226, - 227 - ] - ] - ] - ] - ], - [ - 9094, - 230, - 242, - [ - [ - 9005 - ], - [ - 9050, - 230, - 242, - [ - [ - 9013, - 230, - 230 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9059, - 234, - 235 - ], - [ - 9005 - ], - [ - 9115, - 239, - 239, - [ - [ - 9116, - 239, - 239, - [ - [ - 9090, - 239, - 239 - ] - ] - ] - ] - ], - [ - 9006, - 241, - 242 - ] - ] - ] - ] - ], - [ - 9094, - 245, - 256, - [ - [ - 9005 - ], - [ - 9050, - 245, - 256, - [ - [ - 9013, - 245, - 245 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9059, - 249, - 250 - ], - [ - 9005 - ], - [ - 9115, - 253, - 253, - [ - [ - 9090, - 253, - 253 - ] - ] - ], - [ - 9006, - 255, - 256 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 2 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 6 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 365, - 5 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 391, - 8 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 63, - 1 - ], - [ - 311, - 6 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 4 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 371, - 79 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 63, - 1 - ], - [ - 311, - 4 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 358, - 5 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 3 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 6 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 3 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 365, - 5 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 3 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 391, - 8 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 313, - 6 - ], - [ - 377, - 1 - ], - [ - 61, - 1 - ], - [ - 377, - 1 - ], - [ - 91, - 1 - ], - [ - 377, - 3 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 6 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 3 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 365, - 5 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 3 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 391, - 8 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 3 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 63, - 1 - ], - [ - 311, - 6 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 3 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 4 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 4 - ], - [ - 347, - 6 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 6 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 3 - ], - [ - 347, - 6 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 365, - 5 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 3 - ], - [ - 347, - 6 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 391, - 8 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 3 - ], - [ - 347, - 6 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 63, - 1 - ], - [ - 311, - 6 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 3 - ], - [ - 347, - 6 - ], - [ - 377, - 1 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 40, - 1 - ], - [ - 41, - 1 - ], - [ - 58, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 4 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 125, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 93, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > a + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_DECLARATION_RETURN + * n_CLASS_NAME + > string + > " " + * n_STATEMENT_LIST + > { + > } + > "\n\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > b + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_DECLARATION_RETURN + * n_TYPE_NAME + > array + > " " + * n_STATEMENT_LIST + > { + > } + > "\n\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > c + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_DECLARATION_RETURN + * n_TYPE_NAME + > callable + > " " + * n_STATEMENT_LIST + > { + > } + > "\n\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > d + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_DECLARATION_RETURN + * n_NULLABLE_TYPE + * n_CLASS_NAME + > string + > " " + * n_STATEMENT_LIST + > { + > } + > "\n\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > e + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_DECLARATION_RETURN + * n_CLASS_NAME + > void + > " " + * n_STATEMENT_LIST + > { + > } + > "\n\n" + > "// TODO: This shouldn't technically be allowed as it will cause a fatal er" + . "ror.\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > f + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_DECLARATION_RETURN + * n_NULLABLE_TYPE + * n_CLASS_NAME + > void + > " " + * n_STATEMENT_LIST + > { + > } + > "\n\n" + * n_STATEMENT + * n_CLASS_DECLARATION + * n_CLASS_ATTRIBUTES + > class + > " " + * n_CLASS_NAME + > a + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > "\n " + * n_STATEMENT + * n_METHOD_DECLARATION + * n_METHOD_MODIFIER_LIST + * n_EMPTY + * n_STRING + > b + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_DECLARATION_RETURN + * n_CLASS_NAME + > string + > " " + * n_STATEMENT_LIST + > { + > } + > "\n " + * n_STATEMENT + * n_METHOD_DECLARATION + * n_METHOD_MODIFIER_LIST + * n_EMPTY + * n_STRING + > c + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_DECLARATION_RETURN + * n_TYPE_NAME + > array + > " " + * n_STATEMENT_LIST + > { + > } + > "\n " + * n_STATEMENT + * n_METHOD_DECLARATION + * n_METHOD_MODIFIER_LIST + * n_EMPTY + * n_STRING + > d + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_DECLARATION_RETURN + * n_TYPE_NAME + > callable + > " " + * n_STATEMENT_LIST + > { + > } + > "\n" + > } + > "\n\n" + * n_STATEMENT + * n_BINARY_EXPRESSION + * n_VARIABLE + > $funcs + > " " + * n_OPERATOR + > = + > " " + * n_ARRAY_LITERAL + * n_ARRAY_VALUE_LIST + > [ + > "\n " + * n_ARRAY_VALUE + * n_EMPTY + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_EMPTY + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_DECLARATION_RETURN + * n_CLASS_NAME + > string + > " " + * n_STATEMENT_LIST + > { + > } + > , + > "\n " + * n_ARRAY_VALUE + * n_EMPTY + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_EMPTY + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_DECLARATION_RETURN + * n_TYPE_NAME + > array + > " " + * n_STATEMENT_LIST + > { + > } + > , + > "\n " + * n_ARRAY_VALUE + * n_EMPTY + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_EMPTY + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_DECLARATION_RETURN + * n_TYPE_NAME + > callable + > " " + * n_STATEMENT_LIST + > { + > } + > , + > "\n " + * n_ARRAY_VALUE + * n_EMPTY + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_EMPTY + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_DECLARATION_RETURN + * n_NULLABLE_TYPE + * n_CLASS_NAME + > string + > " " + * n_STATEMENT_LIST + > { + > } + > , + > "\n " + * n_ARRAY_VALUE + * n_EMPTY + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_EMPTY + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_DECLARATION_RETURN + * n_CLASS_NAME + > void + > " " + * n_STATEMENT_LIST + > { + > } + > , + > "\n\n " + * n_ARRAY_VALUE + * n_EMPTY + * n_FUNCTION_DECLARATION + * n_STRING + > static + * n_EMPTY + * n_EMPTY + * n_EMPTY + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_DECLARATION_RETURN + * n_CLASS_NAME + > string + > " " + * n_STATEMENT_LIST + > { + > } + > , + > "\n " + * n_ARRAY_VALUE + * n_EMPTY + * n_FUNCTION_DECLARATION + * n_STRING + > static + * n_EMPTY + * n_EMPTY + * n_EMPTY + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_DECLARATION_RETURN + * n_TYPE_NAME + > array + > " " + * n_STATEMENT_LIST + > { + > } + > , + > "\n " + * n_ARRAY_VALUE + * n_EMPTY + * n_FUNCTION_DECLARATION + * n_STRING + > static + * n_EMPTY + * n_EMPTY + * n_EMPTY + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_DECLARATION_RETURN + * n_TYPE_NAME + > callable + > " " + * n_STATEMENT_LIST + > { + > } + > , + > "\n " + * n_ARRAY_VALUE + * n_EMPTY + * n_FUNCTION_DECLARATION + * n_STRING + > static + * n_EMPTY + * n_EMPTY + * n_EMPTY + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_DECLARATION_RETURN + * n_NULLABLE_TYPE + * n_CLASS_NAME + > string + > " " + * n_STATEMENT_LIST + > { + > } + > , + > "\n " + * n_ARRAY_VALUE + * n_EMPTY + * n_FUNCTION_DECLARATION + * n_STRING + > static + * n_EMPTY + * n_EMPTY + * n_EMPTY + * n_DECLARATION_PARAMETER_LIST + > ( + > ) + * n_EMPTY + * n_DECLARATION_RETURN + * n_CLASS_NAME + > void + > " " + * n_STATEMENT_LIST + > { + > } + > , + > "\n" + > ] + > ; + > "\n\n" diff --git a/src/parser/xhpast/__tests__/data/use.php.test b/src/parser/xhpast/__tests__/data/use.php.test index 098f20fe..264721e7 100644 --- a/src/parser/xhpast/__tests__/data/use.php.test +++ b/src/parser/xhpast/__tests__/data/use.php.test @@ -8,373 +8,79 @@ use G, H as I; ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 41, - [ - [ - 9006, - 0, - 40, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 5, - [ - [ - 9009, - 2, - 4, - [ - [ - 9010, - 4, - 4, - [ - [ - 9001, - 4, - 4 - ], - [ - 9005 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 7, - 11, - [ - [ - 9009, - 7, - 10, - [ - [ - 9010, - 9, - 10, - [ - [ - 9001, - 9, - 10 - ], - [ - 9005 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 13, - 20, - [ - [ - 9009, - 13, - 19, - [ - [ - 9010, - 15, - 19, - [ - [ - 9001, - 15, - 15 - ], - [ - 9013, - 19, - 19 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 22, - 28, - [ - [ - 9009, - 22, - 27, - [ - [ - 9010, - 24, - 24, - [ - [ - 9001, - 24, - 24 - ], - [ - 9005 - ] - ] - ], - [ - 9010, - 27, - 27, - [ - [ - 9001, - 27, - 27 - ], - [ - 9005 - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 30, - 40, - [ - [ - 9009, - 30, - 39, - [ - [ - 9010, - 32, - 32, - [ - [ - 9001, - 32, - 32 - ], - [ - 9005 - ] - ] - ], - [ - 9010, - 35, - 39, - [ - [ - 9001, - 35, - 35 - ], - [ - 9013, - 39, - 39 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 2 - ], - [ - 345, - 3 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 345, - 3 - ], - [ - 377, - 1 - ], - [ - 389, - 1 - ], - [ - 311, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 345, - 3 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 331, - 2 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 345, - 3 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ], - [ - 345, - 3 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 377, - 1 - ], - [ - 331, - 2 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 1 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n\n" + * n_STATEMENT + * n_USE_LIST + > use + > " " + * n_USE + * n_SYMBOL_NAME + > A + * n_EMPTY + > ; + > "\n" + * n_STATEMENT + * n_USE_LIST + > use + > " " + * n_USE + * n_SYMBOL_NAME + > "\" + > B + * n_EMPTY + > ; + > "\n" + * n_STATEMENT + * n_USE_LIST + > use + > " " + * n_USE + * n_SYMBOL_NAME + > C + > " " + > as + > " " + * n_STRING + > D + > ; + > "\n" + * n_STATEMENT + * n_USE_LIST + > use + > " " + * n_USE + * n_SYMBOL_NAME + > E + * n_EMPTY + > , + > " " + * n_USE + * n_SYMBOL_NAME + > F + * n_EMPTY + > ; + > "\n" + * n_STATEMENT + * n_USE_LIST + > use + > " " + * n_USE + * n_SYMBOL_NAME + > G + * n_EMPTY + > , + > " " + * n_USE + * n_SYMBOL_NAME + > H + > " " + > as + > " " + * n_STRING + > I + > ; + > "\n" diff --git a/src/parser/xhpast/__tests__/data/variadic.php.test b/src/parser/xhpast/__tests__/data/variadic.php.test index 15e98538..1be3bade 100644 --- a/src/parser/xhpast/__tests__/data/variadic.php.test +++ b/src/parser/xhpast/__tests__/data/variadic.php.test @@ -15,704 +15,146 @@ b(...$foo); ~~~~~~~~~~ pass ~~~~~~~~~~ -{ - "tree": [ - 9000, - 0, - 77, - [ - [ - 9006, - 0, - 76, - [ - [ - 9007, - 0, - 0 - ], - [ - 9004, - 2, - 12, - [ - [ - 9050, - 2, - 12, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 4, - 4 - ], - [ - 9059, - 5, - 8, - [ - [ - 9060, - 6, - 7, - [ - [ - 9005 - ], - [ - 9114, - 6, - 7, - [ - [ - 9047, - 7, - 7 - ] - ] - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 10, - 12 - ] - ] - ] - ] - ], - [ - 9004, - 14, - 25, - [ - [ - 9050, - 14, - 25, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 16, - 16 - ], - [ - 9059, - 17, - 21, - [ - [ - 9060, - 18, - 18, - [ - [ - 9005 - ], - [ - 9049, - 18, - 20, - [ - [ - 9114, - 19, - 20, - [ - [ - 9047, - 20, - 20 - ] - ] - ] - ] - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 23, - 25 - ] - ] - ] - ] - ], - [ - 9004, - 27, - 39, - [ - [ - 9050, - 27, - 39, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 29, - 29 - ], - [ - 9059, - 30, - 35, - [ - [ - 9060, - 31, - 34, - [ - [ - 9090, - 31, - 31 - ], - [ - 9114, - 33, - 34, - [ - [ - 9047, - 34, - 34 - ] - ] - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 37, - 39 - ] - ] - ] - ] - ], - [ - 9004, - 41, - 54, - [ - [ - 9050, - 41, - 54, - [ - [ - 9005 - ], - [ - 9005 - ], - [ - 9013, - 43, - 43 - ], - [ - 9059, - 44, - 50, - [ - [ - 9060, - 45, - 47, - [ - [ - 9090, - 45, - 45 - ], - [ - 9049, - 47, - 49, - [ - [ - 9114, - 48, - 49, - [ - [ - 9047, - 49, - 49 - ] - ] - ] - ] - ], - [ - 9005 - ] - ] - ] - ] - ], - [ - 9005 - ], - [ - 9005 - ], - [ - 9006, - 52, - 54 - ] - ] - ] - ] - ], - [ - 9004, - 56, - 69, - [ - [ - 9099, - 56, - 68, - [ - [ - 9001, - 56, - 56 - ], - [ - 9095, - 57, - 68, - [ - [ - 9114, - 58, - 58, - [ - [ - 0, - 58, - 58 - ] - ] - ] - ] - ] - ] - ] - ] - ], - [ - 9004, - 71, - 76, - [ - [ - 9099, - 71, - 75, - [ - [ - 9001, - 71, - 71 - ], - [ - 9095, - 72, - 75, - [ - [ - 9114, - 73, - 73, - [ - [ - 0, - 73, - 73 - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ] - ], - "stream": [ - [ - 373, - 5 - ], - [ - 377, - 2 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 396, - 3 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 38, - 1 - ], - [ - 396, - 3 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 311, - 4 - ], - [ - 377, - 1 - ], - [ - 396, - 3 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 339, - 8 - ], - [ - 377, - 1 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 311, - 4 - ], - [ - 377, - 1 - ], - [ - 38, - 1 - ], - [ - 396, - 3 - ], - [ - 313, - 2 - ], - [ - 41, - 1 - ], - [ - 377, - 1 - ], - [ - 123, - 1 - ], - [ - 377, - 1 - ], - [ - 125, - 1 - ], - [ - 377, - 2 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 396, - 3 - ], - [ - 91, - 1 - ], - [ - 309, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 44, - 1 - ], - [ - 377, - 1 - ], - [ - 309, - 1 - ], - [ - 93, - 1 - ], - [ - 41, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ], - [ - 311, - 1 - ], - [ - 40, - 1 - ], - [ - 396, - 3 - ], - [ - 313, - 4 - ], - [ - 41, - 1 - ], - [ - 59, - 1 - ], - [ - 377, - 2 - ] - ] -} +* n_PROGRAM + * n_STATEMENT_LIST + * n_OPEN_TAG + > "\n\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > a + * n_DECLARATION_PARAMETER_LIST + > ( + * n_DECLARATION_PARAMETER + * n_EMPTY + * n_UNPACK + > ... + * n_VARIABLE + > $a + * n_EMPTY + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > " " + > } + > "\n\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > b + * n_DECLARATION_PARAMETER_LIST + > ( + * n_DECLARATION_PARAMETER + * n_EMPTY + * n_VARIABLE_REFERENCE + > & + * n_UNPACK + > ... + * n_VARIABLE + > $a + * n_EMPTY + > ... + > $a + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > " " + > } + > "\n\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > c + * n_DECLARATION_PARAMETER_LIST + > ( + * n_DECLARATION_PARAMETER + * n_CLASS_NAME + > Type + > " " + * n_UNPACK + > ... + * n_VARIABLE + > $a + * n_EMPTY + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > " " + > } + > "\n\n" + * n_STATEMENT + * n_FUNCTION_DECLARATION + * n_EMPTY + * n_EMPTY + * n_STRING + > d + * n_DECLARATION_PARAMETER_LIST + > ( + * n_DECLARATION_PARAMETER + * n_CLASS_NAME + > Type + > " " + * n_VARIABLE_REFERENCE + > & + * n_UNPACK + > ... + * n_VARIABLE + > $a + * n_EMPTY + > ... + > $a + > ) + * n_EMPTY + * n_EMPTY + * n_STATEMENT_LIST + > { + > " " + > } + > "\n\n" + * n_STATEMENT + * n_FUNCTION_CALL + * n_SYMBOL_NAME + > a + * n_CALL_PARAMETER_LIST + > ( + * n_UNPACK + * "" + > ... + > [ + > 1 + > , + > " " + > 2 + > , + > " " + > 3 + > ] + > ) + > ; + > "\n\n" + * n_STATEMENT + * n_FUNCTION_CALL + * n_SYMBOL_NAME + > b + * n_CALL_PARAMETER_LIST + > ( + * n_UNPACK + * "" + > ... + > $foo + > ) + > ; + > "\n\n"