Changeset View
Changeset View
Standalone View
Standalone View
support/xhpast/parser.y
| Show First 20 Lines • Show All 58 Lines • ▼ Show 20 Lines | |||||
| // 7: expr '[' dim_offset ']' -- shift will default to first grammar | // 7: expr '[' dim_offset ']' -- shift will default to first grammar | ||||
| %name-prefix "xhpast" | %name-prefix "xhpast" | ||||
| %pure-parser | %pure-parser | ||||
| %parse-param { void* yyscanner } | %parse-param { void* yyscanner } | ||||
| %parse-param { xhpast::Node** root } | %parse-param { xhpast::Node** root } | ||||
| %lex-param { void* yyscanner } | %lex-param { void* yyscanner } | ||||
| %error-verbose | %error-verbose | ||||
| %left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE | %precedence T_INCLUDE T_INCLUDE_ONCE | ||||
| %left ',' | %token T_EVAL | ||||
| %precedence T_REQUIRE T_REQUIRE_ONCE | |||||
| %token ',' | |||||
| %left T_LOGICAL_OR | %left T_LOGICAL_OR | ||||
| %left T_LOGICAL_XOR | %left T_LOGICAL_XOR | ||||
| %left T_LOGICAL_AND | %left T_LOGICAL_AND | ||||
| %right T_PRINT | %precedence T_PRINT | ||||
| %left '=' T_PLUS_EQUAL | %precedence '=' T_PLUS_EQUAL | ||||
| T_MINUS_EQUAL | T_MINUS_EQUAL | ||||
| T_MUL_EQUAL | T_MUL_EQUAL | ||||
| T_DIV_EQUAL | T_DIV_EQUAL | ||||
| T_CONCAT_EQUAL | T_CONCAT_EQUAL | ||||
| T_MOD_EQUAL | T_MOD_EQUAL | ||||
| T_AND_EQUAL | T_AND_EQUAL | ||||
| T_OR_EQUAL | T_OR_EQUAL | ||||
| T_XOR_EQUAL | T_XOR_EQUAL | ||||
| T_SL_EQUAL | T_SL_EQUAL | ||||
| T_SR_EQUAL | T_SR_EQUAL | ||||
| %left '?' ':' | %left '?' ':' | ||||
| %left T_BOOLEAN_OR | %left T_BOOLEAN_OR | ||||
| %left T_BOOLEAN_AND | %left T_BOOLEAN_AND | ||||
| %left '|' | %left '|' | ||||
| %left '^' | %left '^' | ||||
| %left '&' | %left '&' | ||||
| %nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL | %nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL | ||||
| %nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL | %nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL | ||||
| %left T_SL T_SR | %left T_SL T_SR | ||||
| %left '+' '-' '.' | %left '+' '-' '.' | ||||
| %left '*' '/' '%' | %left '*' '/' '%' | ||||
| %right '!' | %precedence '!' | ||||
| %nonassoc T_INSTANCEOF | %precedence T_INSTANCEOF | ||||
| %right '~' T_INC | %precedence '~' T_INC | ||||
| T_DEC | %token T_DEC | ||||
| T_INT_CAST | %precedence T_INT_CAST T_DOUBLE_CAST T_STRING_CAST | ||||
| T_DOUBLE_CAST | %token T_UNICODE_CAST | ||||
| T_STRING_CAST | %token T_BINARY_CAST | ||||
| T_UNICODE_CAST | %precedence T_ARRAY_CAST T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST '@' | ||||
| T_BINARY_CAST | %token '[' | ||||
| T_ARRAY_CAST | %token T_NEW | ||||
| T_OBJECT_CAST | %precedence T_CLONE | ||||
| T_BOOL_CAST | |||||
| T_UNSET_CAST | |||||
| '@' | |||||
| %right '[' | |||||
| %nonassoc T_NEW T_CLONE | |||||
| %token T_EXIT | %token T_EXIT | ||||
| %token T_IF | %token T_IF | ||||
| %left T_ELSEIF | %token T_ELSEIF | ||||
| %left T_ELSE | %token T_ELSE | ||||
| %left T_ENDIF | %token T_ENDIF | ||||
| %token T_LNUMBER | %token T_LNUMBER | ||||
| %token T_DNUMBER | %token T_DNUMBER | ||||
| %token T_STRING | %token T_STRING | ||||
| %token T_STRING_VARNAME /* unused in XHP: `foo` in `"$foo"` */ | %token T_STRING_VARNAME /* unused in XHP: `foo` in `"$foo"` */ | ||||
| %token T_VARIABLE | %token T_VARIABLE | ||||
| %token T_NUM_STRING /* unused in XHP: `0` in `"$foo[0]"` */ | %token T_NUM_STRING /* unused in XHP: `0` in `"$foo[0]"` */ | ||||
| %token T_INLINE_HTML | %token T_INLINE_HTML | ||||
| Show All 24 Lines | |||||
| %token T_FUNCTION | %token T_FUNCTION | ||||
| %token T_CONST | %token T_CONST | ||||
| %token T_RETURN | %token T_RETURN | ||||
| %token T_TRY | %token T_TRY | ||||
| %token T_CATCH | %token T_CATCH | ||||
| %token T_THROW | %token T_THROW | ||||
| %token T_USE | %token T_USE | ||||
| %token T_GLOBAL | %token T_GLOBAL | ||||
| %right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC | %token T_STATIC | ||||
| %token T_ABSTRACT | |||||
| %token T_FINAL | |||||
| %token T_PRIVATE | |||||
| %token T_PROTECTED | |||||
| %token T_PUBLIC | |||||
| %token T_VAR | %token T_VAR | ||||
| %token T_UNSET | %token T_UNSET | ||||
| %token T_ISSET | %token T_ISSET | ||||
| %token T_EMPTY | %token T_EMPTY | ||||
| %token T_HALT_COMPILER | %token T_HALT_COMPILER | ||||
| %token T_CLASS | %token T_CLASS | ||||
| %token T_INTERFACE | %token T_INTERFACE | ||||
| %token T_EXTENDS | %token T_EXTENDS | ||||
| ▲ Show 20 Lines • Show All 2,557 Lines • Show Last 20 Lines | |||||