You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
2.6 KiB
115 lines
2.6 KiB
/* We currently rely on the token ID mapping to be the same between PHP 5 and PHP 7 - so the same lexer can be used for |
|
* both. This is enforced by sharing this token file. */ |
|
|
|
%right T_THROW |
|
%left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE |
|
%left ',' |
|
%left T_LOGICAL_OR |
|
%left T_LOGICAL_XOR |
|
%left T_LOGICAL_AND |
|
%right T_PRINT |
|
%right T_YIELD |
|
%right T_DOUBLE_ARROW |
|
%right T_YIELD_FROM |
|
%left '=' T_PLUS_EQUAL T_MINUS_EQUAL T_MUL_EQUAL T_DIV_EQUAL T_CONCAT_EQUAL T_MOD_EQUAL T_AND_EQUAL T_OR_EQUAL T_XOR_EQUAL T_SL_EQUAL T_SR_EQUAL T_POW_EQUAL T_COALESCE_EQUAL |
|
%left '?' ':' |
|
%right T_COALESCE |
|
%left T_BOOLEAN_OR |
|
%left T_BOOLEAN_AND |
|
%left '|' |
|
%left '^' |
|
%left T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG |
|
%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL T_SPACESHIP |
|
%nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL |
|
%left T_SL T_SR |
|
%left '+' '-' '.' |
|
%left '*' '/' '%' |
|
%right '!' |
|
%nonassoc T_INSTANCEOF |
|
%right '~' T_INC T_DEC T_INT_CAST T_DOUBLE_CAST T_STRING_CAST T_ARRAY_CAST T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST '@' |
|
%right T_POW |
|
%right '[' |
|
%nonassoc T_NEW T_CLONE |
|
%token T_EXIT |
|
%token T_IF |
|
%left T_ELSEIF |
|
%left T_ELSE |
|
%left T_ENDIF |
|
%token T_LNUMBER |
|
%token T_DNUMBER |
|
%token T_STRING |
|
%token T_STRING_VARNAME |
|
%token T_VARIABLE |
|
%token T_NUM_STRING |
|
%token T_INLINE_HTML |
|
%token T_ENCAPSED_AND_WHITESPACE |
|
%token T_CONSTANT_ENCAPSED_STRING |
|
%token T_ECHO |
|
%token T_DO |
|
%token T_WHILE |
|
%token T_ENDWHILE |
|
%token T_FOR |
|
%token T_ENDFOR |
|
%token T_FOREACH |
|
%token T_ENDFOREACH |
|
%token T_DECLARE |
|
%token T_ENDDECLARE |
|
%token T_AS |
|
%token T_SWITCH |
|
%token T_MATCH |
|
%token T_ENDSWITCH |
|
%token T_CASE |
|
%token T_DEFAULT |
|
%token T_BREAK |
|
%token T_CONTINUE |
|
%token T_GOTO |
|
%token T_FUNCTION |
|
%token T_FN |
|
%token T_CONST |
|
%token T_RETURN |
|
%token T_TRY |
|
%token T_CATCH |
|
%token T_FINALLY |
|
%token T_THROW |
|
%token T_USE |
|
%token T_INSTEADOF |
|
%token T_GLOBAL |
|
%right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC T_READONLY |
|
%token T_VAR |
|
%token T_UNSET |
|
%token T_ISSET |
|
%token T_EMPTY |
|
%token T_HALT_COMPILER |
|
%token T_CLASS |
|
%token T_TRAIT |
|
%token T_INTERFACE |
|
%token T_ENUM |
|
%token T_EXTENDS |
|
%token T_IMPLEMENTS |
|
%token T_OBJECT_OPERATOR |
|
%token T_NULLSAFE_OBJECT_OPERATOR |
|
%token T_DOUBLE_ARROW |
|
%token T_LIST |
|
%token T_ARRAY |
|
%token T_CALLABLE |
|
%token T_CLASS_C |
|
%token T_TRAIT_C |
|
%token T_METHOD_C |
|
%token T_FUNC_C |
|
%token T_LINE |
|
%token T_FILE |
|
%token T_START_HEREDOC |
|
%token T_END_HEREDOC |
|
%token T_DOLLAR_OPEN_CURLY_BRACES |
|
%token T_CURLY_OPEN |
|
%token T_PAAMAYIM_NEKUDOTAYIM |
|
%token T_NAMESPACE |
|
%token T_NS_C |
|
%token T_DIR |
|
%token T_NS_SEPARATOR |
|
%token T_ELLIPSIS |
|
%token T_NAME_FULLY_QUALIFIED |
|
%token T_NAME_QUALIFIED |
|
%token T_NAME_RELATIVE |
|
%token T_ATTRIBUTE |
|
%token T_ENUM
|
|
|