type token =
  | TUnknown of (Ast_php.info)
  | EOF of (Ast_php.info)
  | TSpaces of (Ast_php.info)
  | TNewline of (Ast_php.info)
  | T_COMMENT of (Ast_php.info)
  | T_DOC_COMMENT of (Ast_php.info)
  | TCommentPP of (Ast_php.info)
  | T_LNUMBER of (string * Ast_php.info)
  | T_DNUMBER of (string * Ast_php.info)
  | T_IDENT of (string * Ast_php.info)
  | T_VARIABLE of (string * Ast_php.info)
  | T_CONSTANT_ENCAPSED_STRING of (string * Ast_php.info)
  | T_ENCAPSED_AND_WHITESPACE of (string * Ast_php.info)
  | T_INLINE_HTML of (string * Ast_php.info)
  | T_NUM_STRING of (string * Ast_php.info)
  | T_STRING_VARNAME of (string * Ast_php.info)
  | T_IF of (Ast_php.info)
  | T_ELSE of (Ast_php.info)
  | T_ELSEIF of (Ast_php.info)
  | T_ENDIF of (Ast_php.info)
  | T_DO of (Ast_php.info)
  | T_WHILE of (Ast_php.info)
  | T_ENDWHILE of (Ast_php.info)
  | T_FOR of (Ast_php.info)
  | T_ENDFOR of (Ast_php.info)
  | T_FOREACH of (Ast_php.info)
  | T_ENDFOREACH of (Ast_php.info)
  | T_SWITCH of (Ast_php.info)
  | T_ENDSWITCH of (Ast_php.info)
  | T_CASE of (Ast_php.info)
  | T_DEFAULT of (Ast_php.info)
  | T_BREAK of (Ast_php.info)
  | T_CONTINUE of (Ast_php.info)
  | T_RETURN of (Ast_php.info)
  | T_TRY of (Ast_php.info)
  | T_CATCH of (Ast_php.info)
  | T_FINALLY of (Ast_php.info)
  | T_THROW of (Ast_php.info)
  | T_EXIT of (Ast_php.info)
  | T_DECLARE of (Ast_php.info)
  | T_ENDDECLARE of (Ast_php.info)
  | T_USE of (Ast_php.info)
  | T_GLOBAL of (Ast_php.info)
  | T_AS of (Ast_php.info)
  | T_FUNCTION of (Ast_php.info)
  | T_CONST of (Ast_php.info)
  | T_VAR of (Ast_php.info)
  | T_ECHO of (Ast_php.info)
  | T_PRINT of (Ast_php.info)
  | T_ASYNC of (Ast_php.info)
  | T_STATIC of (Ast_php.info)
  | T_ABSTRACT of (Ast_php.info)
  | T_FINAL of (Ast_php.info)
  | T_PRIVATE of (Ast_php.info)
  | T_PROTECTED of (Ast_php.info)
  | T_PUBLIC of (Ast_php.info)
  | T_UNSET of (Ast_php.info)
  | T_ISSET of (Ast_php.info)
  | T_EMPTY of (Ast_php.info)
  | T_CLASS of (Ast_php.info)
  | T_INTERFACE of (Ast_php.info)
  | T_EXTENDS of (Ast_php.info)
  | T_IMPLEMENTS of (Ast_php.info)
  | T_TRAIT of (Ast_php.info)
  | T_INSTEADOF of (Ast_php.info)
  | T_NAMESPACE of (Ast_php.info)
  | T_LIST of (Ast_php.info)
  | T_ARRAY of (Ast_php.info)
  | T_CLASS_C of (Ast_php.info)
  | T_METHOD_C of (Ast_php.info)
  | T_FUNC_C of (Ast_php.info)
  | T_LINE of (Ast_php.info)
  | T_FILE of (Ast_php.info)
  | T_DIR of (Ast_php.info)
  | T_TRAIT_C of (Ast_php.info)
  | T_NAMESPACE_C of (Ast_php.info)
  | T_LOGICAL_OR of (Ast_php.info)
  | T_LOGICAL_AND of (Ast_php.info)
  | T_LOGICAL_XOR of (Ast_php.info)
  | T_NEW of (Ast_php.info)
  | T_CLONE of (Ast_php.info)
  | T_INSTANCEOF of (Ast_php.info)
  | T_INCLUDE of (Ast_php.info)
  | T_INCLUDE_ONCE of (Ast_php.info)
  | T_REQUIRE of (Ast_php.info)
  | T_REQUIRE_ONCE of (Ast_php.info)
  | T_EVAL of (Ast_php.info)
  | T_SELF of (Ast_php.info)
  | T_PARENT of (Ast_php.info)
  | T_TYPE of (Ast_php.info)
  | T_NEWTYPE of (Ast_php.info)
  | T_SHAPE of (Ast_php.info)
  | T_ELLIPSIS of (Ast_php.info)
  | T_OBJECT_OPERATOR of (Ast_php.info)
  | T_ARROW of (Ast_php.info)
  | T_DOUBLE_ARROW of (Ast_php.info)
  | T_OPEN_TAG of (Ast_php.info)
  | T_CLOSE_TAG of (Ast_php.info)
  | T_OPEN_TAG_WITH_ECHO of (Ast_php.info)
  | T_CLOSE_TAG_OF_ECHO of (Ast_php.info)
  | T_START_HEREDOC of (Ast_php.info)
  | T_END_HEREDOC of (Ast_php.info)
  | T_DOLLAR_OPEN_CURLY_BRACES of (Ast_php.info)
  | T_CURLY_OPEN of (Ast_php.info)
  | TCOLCOL of (Ast_php.info)
  | TANTISLASH of (Ast_php.info)
  | TCOLON of (Ast_php.info)
  | TCOMMA of (Ast_php.info)
  | TDOT of (Ast_php.info)
  | TBANG of (Ast_php.info)
  | TTILDE of (Ast_php.info)
  | TQUESTION of (Ast_php.info)
  | TOBRA of (Ast_php.info)
  | TPLUS of (Ast_php.info)
  | TMINUS of (Ast_php.info)
  | TMUL of (Ast_php.info)
  | TDIV of (Ast_php.info)
  | TMOD of (Ast_php.info)
  | TAND of (Ast_php.info)
  | TOR of (Ast_php.info)
  | TXOR of (Ast_php.info)
  | TEQ of (Ast_php.info)
  | TSMALLER of (Ast_php.info)
  | TGREATER of (Ast_php.info)
  | T_PLUS_EQUAL of (Ast_php.info)
  | T_MINUS_EQUAL of (Ast_php.info)
  | T_MUL_EQUAL of (Ast_php.info)
  | T_DIV_EQUAL of (Ast_php.info)
  | T_CONCAT_EQUAL of (Ast_php.info)
  | T_MOD_EQUAL of (Ast_php.info)
  | T_AND_EQUAL of (Ast_php.info)
  | T_OR_EQUAL of (Ast_php.info)
  | T_XOR_EQUAL of (Ast_php.info)
  | T_SL_EQUAL of (Ast_php.info)
  | T_SR_EQUAL of (Ast_php.info)
  | T_INC of (Ast_php.info)
  | T_DEC of (Ast_php.info)
  | T_BOOLEAN_OR of (Ast_php.info)
  | T_BOOLEAN_AND of (Ast_php.info)
  | T_SL of (Ast_php.info)
  | T_SR of (Ast_php.info)
  | T_IS_SMALLER_OR_EQUAL of (Ast_php.info)
  | T_IS_GREATER_OR_EQUAL of (Ast_php.info)
  | T_BOOL_CAST of (Ast_php.info)
  | T_INT_CAST of (Ast_php.info)
  | T_DOUBLE_CAST of (Ast_php.info)
  | T_STRING_CAST of (Ast_php.info)
  | T_ARRAY_CAST of (Ast_php.info)
  | T_OBJECT_CAST of (Ast_php.info)
  | T_UNSET_CAST of (Ast_php.info)
  | T_IS_IDENTICAL of (Ast_php.info)
  | T_IS_NOT_IDENTICAL of (Ast_php.info)
  | T_IS_EQUAL of (Ast_php.info)
  | T_IS_NOT_EQUAL of (Ast_php.info)
  | T__AT of (Ast_php.info)
  | TOPAR of (Ast_php.info)
  | TCPAR of (Ast_php.info)
  | TOBRACE of (Ast_php.info)
  | TCBRACE of (Ast_php.info)
  | TCBRA of (Ast_php.info)
  | TBACKQUOTE of (Ast_php.info)
  | TSEMICOLON of (Ast_php.info)
  | TDOLLAR of (Ast_php.info)
  | TGUIL of (Ast_php.info)
  | T_CLASS_XDEBUG of (Ast_php.info)
  | T_RESOURCE_XDEBUG of (Ast_php.info)
  | T_YIELD of (Ast_php.info)
  | T_AWAIT of (Ast_php.info)
  | T_LAMBDA_OPAR of (Ast_php.info)
  | T_LAMBDA_CPAR of (Ast_php.info)
  | T_XHP_COLONID_DEF of (string list * Ast_php.info)
  | T_XHP_PERCENTID_DEF of (string list * Ast_php.info)
  | T_XHP_OPEN_TAG of (Ast_php.xhp_tag * Ast_php.info)
  | T_XHP_GT of (Ast_php.info)
  | T_XHP_SLASH_GT of (Ast_php.info)
  | T_XHP_CLOSE_TAG of (Ast_php.xhp_tag option * Ast_php.info)
  | T_XHP_ATTR of (string * Ast_php.info)
  | T_XHP_TEXT of (string * Ast_php.info)
  | T_XHP_ATTRIBUTE of (Ast_php.info)
  | T_XHP_CHILDREN of (Ast_php.info)
  | T_XHP_CATEGORY of (Ast_php.info)
  | T_ENUM of (Ast_php.info)
  | T_XHP_REQUIRED of (Ast_php.info)
  | T_XHP_ANY of (Ast_php.info)
  | T_XHP_PCDATA of (Ast_php.info)

val main :
  (Lexing.lexbuf  -> token) -> Lexing.lexbuf -> Ast_php.toplevel list
val sgrep_spatch_pattern :
  (Lexing.lexbuf  -> token) -> Lexing.lexbuf -> Ast_php.any
