sig
  type token =
      XQNAME of Namespace_names.uqname
    | XNCNAME of Namespace_names.ncname
    | XSTRING of Datatypes.xs_string
    | XMLPI
    | XVERSION
    | XSDDECL
    | XSINGLEQUOTE
    | XDOUBLEQUOTE
    | XDECLNAME of string
    | XENCODING of string
    | DOCTYPE
    | DOCTYPECLOSE
    | DTDDECLOPEN
    | DTDDECLCLOSE
    | S
    | LOPENINGTAG
    | LCLOSINGTAG
    | ROPENINGTAG
    | RCLOSINGTAG
    | REMPTYELEMENT
    | TEXTLCLOSINGTAG of Datatypes.xs_untyped
    | TEXTLOPENINGTAG of Datatypes.xs_untyped
    | TEXTLCURLY of Datatypes.xs_untyped
    | OPENINGPI of Namespace_names.ncname
    | CLOSINGPI
    | LOPENINGCOMMENT
    | TEXTCLOSINGPI of Datatypes.xs_untyped
    | TEXTRCLOSINGCOMMENT of Datatypes.xs_untyped
    | TEXTOPENINGPI of (Datatypes.xs_untyped * Namespace_names.ncname)
    | TEXTLOPENINGCOMMENT of Datatypes.xs_untyped
    | ATTRIBUTETEXT of Datatypes.xs_untyped
    | ATTRIBUTETEXTLCURLY of Datatypes.xs_untyped
    | TEXTCHARREF of (Datatypes.xs_untyped * int)
    | TEXTENTITYREF of (Datatypes.xs_untyped * string)
    | PEREF of Namespace_names.ncname
    | PERCENT
    | NMTOKEN of Namespace_names.ncname
    | REQUIRED
    | IMPLIED
    | FIXED
    | PCDATA
    | ELEMENTDECL
    | ATTLISTDECL
    | ENTITYDECL
    | NOTATIONDECL
    | BEGINDECL
    | ENDDECL
    | BODYDECL
    | DECLAREDEFAULTCOLLATION
    | DECLARENAMESPACE
    | DECLAREBASEURI
    | MODULENAMESPACE
    | INTERFACENAMESPACE
    | DECLAREDEFAULTELEMENT
    | DECLAREDEFAULTFUNCTION
    | IMPORTSCHEMA
    | IMPORTMODULE
    | IMPORTINTERFACE
    | IMPORTSERVICE
    | NAMESPACE
    | DEFAULTELEMENT
    | DECLAREVALUEINDEX
    | DECLARENAMEINDEX
    | DECLAREFUNCTION
    | EXTERNAL
    | DECLAREUPDATINGFUNCTION
    | DECLAREVARIABLE
    | XQUERYVERSION
    | ENCODING
    | PRESERVE
    | NOPRESERVE
    | INHERIT
    | NOINHERIT
    | STRIP
    | ORDERED
    | UNORDERED
    | DECLARECONSTRUCTION
    | DECLAREBOUNDARYSPACE
    | DECLAREORDERING
    | DECLAREOPTION
    | DECLARESERVER
    | DECLAREDEFAULTORDER
    | DECLARECOPYNAMESPACES
    | DECLARESCHEMALCURLY
    | DECLAREATTRIBUTE of Namespace_names.uqname
    | DECLAREELEMENT of Namespace_names.uqname
    | DECLARESIMPLETYPE of Namespace_names.uqname
    | DECLARECOMPLEXTYPE of Namespace_names.uqname
    | DECLAREGROUP of Namespace_names.uqname
    | DECLAREATTRGROUP of Namespace_names.uqname
    | GROUP
    | ATTRGROUP
    | OFTYPE
    | OFSIMPLETYPE
    | NILLABLE
    | MIXED
    | SUBSTITUTESFOR
    | RESTRICTS
    | EXTENDS
    | LISTOF
    | UNIONOF
    | ATTRIBUTEQNAMECURLY of Namespace_names.uqname
    | ELEMENTQNAMECURLY of Namespace_names.uqname
    | NAMESPACENCNAMECURLY of Namespace_names.ncname
    | PINCNAMECURLY of Namespace_names.ncname
    | DOCUMENTCURLY
    | TEXTCURLY
    | PICURLY
    | COMMENTCURLY
    | ATTRIBUTECURLY
    | ELEMENTCURLY
    | PRAGMA of (Namespace_names.uqname * string)
    | DOCUMENTNODELPAR
    | ELEMENTLPAR
    | ATTRIBUTELPAR
    | TEXTLPAR
    | SCHEMAELEMENTLPAR
    | SCHEMAATTRIBUTELPAR
    | EMPTYSEQUENCELPAR
    | TYPELPAR
    | ITEMLPAR
    | NUMERICLPAR
    | ANYSTRINGLPAR
    | ELEMENT
    | ATTRIBUTE
    | DOCUMENT
    | TYPE
    | NONE
    | QUESTION
    | NODE
    | ITEM
    | TEXT
    | PROCESSINGINSTRUCTION
    | COMMENT
    | ASCENDING
    | DESCENDING
    | EMPTY
    | GREATEST
    | LEAST
    | OR
    | AND
    | STAR
    | MULT
    | DIV
    | IDIV
    | MOD
    | MINUS
    | PLUS
    | STARNCNAME of Namespace_names.ncname
    | NCNAMESTAR of Namespace_names.ncname
    | IN
    | SATISFIES
    | RETURN
    | THEN
    | ELSE
    | TO
    | WHERE
    | INTERSECT
    | UNION
    | EXCEPT
    | PRECEDES
    | FOLLOWS
    | CASE
    | INSTANCEOF
    | DEFAULT
    | IFLPAR
    | TYPESWITCHLPAR
    | STABLEORDERBY
    | ORDERBY
    | ASSERTAS
    | CASTAS
    | CASTABLEAS
    | TREATAS
    | VALIDATELCURLY
    | VALIDATESTRICTLCURLY
    | VALIDATELAXLCURLY
    | ORDEREDCURLY
    | UNORDEREDCURLY
    | SOMEDOLLAR
    | EVERYDOLLAR
    | FORDOLLAR
    | LETDOLLAR
    | AS
    | AT
    | DELETENODE
    | INSERTNODE
    | RENAMENODE
    | REPLACENODE
    | REPLACEVALUEOFNODE
    | ASFIRST
    | ASLAST
    | INTO
    | BEFORE
    | AFTER
    | WITH
    | COPYDOLLAR
    | MODIFY
    | COPYLCURLY
    | SNAPLCURLY
    | SNAPLCURLYORDERED
    | SNAPDELETENODE
    | SNAPINSERTNODE
    | SNAPRENAMENODE
    | SNAPREPLACENODE
    | SNAPREPLACEVALUEOFNODE
    | WHILELPAR
    | LETVARDOLLAR
    | SETDOLLAR
    | DECLAREDOLLAR
    | NCNAME of Namespace_names.ncname
    | QNAME of Namespace_names.uqname
    | VARNAME of Namespace_names.uqname
    | QNAMEPLUS of Namespace_names.uqname
    | QNAMESTAR of Namespace_names.uqname
    | QNAMEQUESTION of Namespace_names.uqname
    | AXIS of Xquery_common_ast.axis
    | PROCESSINGINSTRUCTIONLPAR
    | COMMENTLPAR
    | NODELPAR
    | DECIMAL of Decimal._decimal
    | INT of Decimal._integer
    | DOUBLE of float
    | STRING of string
    | COLON
    | SLASH
    | SLASHSLASH
    | DOT
    | DOTDOT
    | EQ
    | EQUALS
    | NE
    | NOTEQUALS
    | IS
    | LTE
    | GTE
    | LTEQUALS
    | GTEQUALS
    | COLONEQUALS
    | LTOP
    | GTOP
    | LT
    | GT
    | BAR
    | ATSIGN
    | COMMA
    | AMPERSAND
    | SEMICOLON
    | LPAR
    | RPAR
    | IRPAR
    | RPARSTAR
    | RPARPLUS
    | RPARQUESTION
    | LBRACK
    | RBRACK
    | LCURLY
    | RCURLY
    | DOLLAR
    | FUNCTIONNAMELPAR of Namespace_names.uqname
    | LETSERVER
    | IMPLEMENT
    | FROMSERVER
    | ATSERVER
    | FORSERVER
    | BOX
    | EVALCLOSURE
    | DO
    | EOF
  val statement :
    (Lexing.lexbuf -> Parse_xquery.token) ->
    Lexing.lexbuf -> Xquery_ast.statement
  val prolog :
    (Lexing.lexbuf -> Parse_xquery.token) ->
    Lexing.lexbuf -> Xquery_ast.prolog
  val xquerymodule :
    (Lexing.lexbuf -> Parse_xquery.token) ->
    Lexing.lexbuf -> Xquery_ast.xmodule
  val librarymodule :
    (Lexing.lexbuf -> Parse_xquery.token) ->
    Lexing.lexbuf -> Xquery_ast.library_module
  val mainmodule :
    (Lexing.lexbuf -> Parse_xquery.token) ->
    Lexing.lexbuf -> Xquery_ast.main_module
  val interface :
    (Lexing.lexbuf -> Parse_xquery.token) ->
    Lexing.lexbuf -> Xquery_ast.interface
  val extype :
    (Lexing.lexbuf -> Parse_xquery.token) ->
    Lexing.lexbuf -> Xquery_type_ast.xtype option * Xquery_type_ast.xtype
  val stringlit :
    (Lexing.lexbuf -> Parse_xquery.token) -> Lexing.lexbuf -> string
end