type token =
  | SLASH
  | RBRACKET
  | LBRACKET
  | RPAREN
  | LPAREN
  | COLONCOLON
  | COLON
  | STAR
  | QUOTE
  | DOUBLEQUOTE
  | PLUS
  | MINUS
  | AND
  | OR
  | NOT
  | MOD
  | DIV
  | EQUAL
  | INEQUAL
  | SUPEQUAL
  | INFEQUAL
  | SUP
  | INF
  | PIPE
  | DOT
  | DOTDOT
  | AT
  | COMMA
  | TEXTP
  | COMMENTP
  | PIP
  | NODEP
  | NAME of (string)
  | VARIABLE of (string)
  | LITERAL of (string)
  | FUNCTION of (string)
  | AXIS of (string)
  | NUMBER of (float)
  | EOF

val expr :
  (Lexing.lexbuf  -> token) -> Lexing.lexbuf -> Yaxi_xpath.expression
