116 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /* 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
 | 
