1 /* 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 2 * both. This is enforced by sharing this token file. */ 3 4 %left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE 5 %left ',' 6 %left T_LOGICAL_OR 7 %left T_LOGICAL_XOR 8 %left T_LOGICAL_AND 9 %right T_PRINT 10 %right T_YIELD 11 %right T_DOUBLE_ARROW 12 %right T_YIELD_FROM 13 %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 14 %left '?' ':' 15 %right T_COALESCE 16 %left T_BOOLEAN_OR 17 %left T_BOOLEAN_AND 18 %left '|' 19 %left '^' 20 %left '&' 21 %nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL T_SPACESHIP 22 %nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL 23 %left T_SL T_SR 24 %left '+' '-' '.' 25 %left '*' '/' '%' 26 %right '!' 27 %nonassoc T_INSTANCEOF 28 %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 '@' 29 %right T_POW 30 %right '[' 31 %nonassoc T_NEW T_CLONE 32 %token T_EXIT 33 %token T_IF 34 %left T_ELSEIF 35 %left T_ELSE 36 %left T_ENDIF 37 %token T_LNUMBER 38 %token T_DNUMBER 39 %token T_STRING 40 %token T_STRING_VARNAME 41 %token T_VARIABLE 42 %token T_NUM_STRING 43 %token T_INLINE_HTML 44 %token T_CHARACTER 45 %token T_BAD_CHARACTER 46 %token T_ENCAPSED_AND_WHITESPACE 47 %token T_CONSTANT_ENCAPSED_STRING 48 %token T_ECHO 49 %token T_DO 50 %token T_WHILE 51 %token T_ENDWHILE 52 %token T_FOR 53 %token T_ENDFOR 54 %token T_FOREACH 55 %token T_ENDFOREACH 56 %token T_DECLARE 57 %token T_ENDDECLARE 58 %token T_AS 59 %token T_SWITCH 60 %token T_ENDSWITCH 61 %token T_CASE 62 %token T_DEFAULT 63 %token T_BREAK 64 %token T_CONTINUE 65 %token T_GOTO 66 %token T_FUNCTION 67 %token T_FN 68 %token T_CONST 69 %token T_RETURN 70 %token T_TRY 71 %token T_CATCH 72 %token T_FINALLY 73 %token T_THROW 74 %token T_USE 75 %token T_INSTEADOF 76 %token T_GLOBAL 77 %right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC 78 %token T_VAR 79 %token T_UNSET 80 %token T_ISSET 81 %token T_EMPTY 82 %token T_HALT_COMPILER 83 %token T_CLASS 84 %token T_TRAIT 85 %token T_INTERFACE 86 %token T_EXTENDS 87 %token T_IMPLEMENTS 88 %token T_OBJECT_OPERATOR 89 %token T_DOUBLE_ARROW 90 %token T_LIST 91 %token T_ARRAY 92 %token T_CALLABLE 93 %token T_CLASS_C 94 %token T_TRAIT_C 95 %token T_METHOD_C 96 %token T_FUNC_C 97 %token T_LINE 98 %token T_FILE 99 %token T_COMMENT 100 %token T_DOC_COMMENT 101 %token T_OPEN_TAG 102 %token T_OPEN_TAG_WITH_ECHO 103 %token T_CLOSE_TAG 104 %token T_WHITESPACE 105 %token T_START_HEREDOC 106 %token T_END_HEREDOC 107 %token T_DOLLAR_OPEN_CURLY_BRACES 108 %token T_CURLY_OPEN 109 %token T_PAAMAYIM_NEKUDOTAYIM 110 %token T_NAMESPACE 111 %token T_NS_C 112 %token T_DIR 113 %token T_NS_SEPARATOR 114 %token T_ELLIPSIS 115