
(* The type of tokens. *)

type token = 
  | YEAR
  | WITH
  | WHERE
  | Var2 of (string)
  | Var1 of (string)
  | VALUES
  | UUID
  | USING
  | URI
  | UNION
  | UNDEF
  | UCASE
  | TZ
  | TIMEZONE
  | String_literal of (string)
  | SUM
  | SUBSTR
  | STRUUID
  | STRSTARTS
  | STRLEN
  | STRLANG
  | STRENDS
  | STRDT
  | STRBEFORE
  | STRAFTER
  | STR
  | STAR
  | SLASH
  | SILENT
  | SHA512
  | SHA384
  | SHA256
  | SHA1
  | SERVICE
  | SEPARATOR
  | SEMICOLON
  | SELECT
  | SECONDS
  | SAMPLE
  | SAMETERM
  | RPAR
  | ROUND
  | REPLACE
  | REGEX
  | REDUCED
  | RBRACKET
  | RBRACE
  | RAND
  | QM
  | Pname_ns of (Sparql_types.pname_ns)
  | Pname_ln of (Sparql_types.prefixed_name)
  | PREFIX
  | PLUS
  | PIPEPIPE
  | PIPE
  | ORDER
  | OPTIONAL
  | OFFSET
  | NOW
  | NOTEQUAL
  | NOT
  | NIL
  | NAMED
  | MOVE
  | MONTH
  | MINUTES
  | MINUS
  | MIN
  | MD5
  | MAX
  | Langtag of (string)
  | LTE
  | LT
  | LPAR
  | LOAD
  | LIMIT
  | LCASE
  | LBRACKET
  | LBRACE
  | LANGMATCHES
  | LANG
  | Iriref_ of (Sparql_types.iriref)
  | Integer_positive of (string)
  | Integer_negative of (string)
  | Integer of (string)
  | ISURI
  | ISNUMERIC
  | ISLITERAL
  | ISIRI
  | ISBLANK
  | IRI
  | INSERT
  | IN
  | IF
  | HOURS
  | HAVING
  | HATHAT
  | HAT
  | GTE
  | GT
  | GROUP_CONCAT
  | GROUP
  | GRAPH
  | FROM
  | FLOOR
  | FILTER
  | EXISTS
  | EQUAL
  | EOF
  | ENCODE_FOR_URI
  | Double_positive of (string)
  | Double_negative of (string)
  | Double of (string)
  | Decimal_positive of (string)
  | Decimal_negative of (string)
  | Decimal of (string)
  | DROP
  | DOT
  | DISTINCT
  | DESCRIBE
  | DESC
  | DELETE
  | DAY
  | DATATYPE
  | DATA
  | CREATE
  | COUNT
  | COPY
  | CONTAINS
  | CONSTRUCT
  | CONCAT
  | COMMA
  | COALESCE
  | CLEAR
  | CEIL
  | Boolean of (string)
  | Blank_node_label of (string)
  | BY
  | BOUND
  | BNODE
  | BIND
  | BASE
  | BANG
  | AVG
  | ASK
  | ASC
  | AS
  | ANON
  | AMPAMP
  | ADD
  | ABS
  | A

(* This exception is raised by the monolithic API functions. *)

exception Error

(* The monolithic API. *)

val query: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (Sparql_types.query)
