(***********************************************************************)
(*                                                                     *)
(*                                 GALAX                               *)
(*                              XQuery Engine                          *)
(*                                                                     *)
(*  Copyright 2001-2003, Lucent Technologies.                          *)
(*  Distributed only by permission.                                    *)
(*                                                                     *)
(***********************************************************************)

(* $Id: tokens.mli,v 1.3 2003/05/22 02:51:25 mff Exp $ *)

(* Module Tokens
   Description:
     This *interface* contains type declarations for tokens used in
     debugging the lexer.
*)

(* This is only used to debug the lexer - JS *)

open Namespace

(**************)
(* type token *)
(**************)

type xqtoken =
  | Or
  | And
  | Div
  | IDiv
  | Mod
  | Mult
  | Plus
  | Minus
  | Star
  | In
  | Satisfies
  | Return
  | Returns
  | Then
  | CElse
  | To
  | Where
  | Intersect
  | Union
  | Except
  | Before
  | After
  | CCase
  | Instanceof
  | SortBy
  | NCName of string
  | QName of uqname
  | Axis of Xquery_ast.axis
  | Colon
  | ColonColon
  | LtColon
  | Slash
  | SlashSlash
  | Equals
  | EqualsEquals
  | NotEquals
  | NotEqualsEquals
  | ColonEquals
  | Lt
  | Gt
  | LOpeningTag
  | ROpeningTag
  | LClosingTag
  | RClosingTag
  | TextLOpeningTag of string
  | TextLClosingTag of string
  | TextLCurly of string
  | REmptyElement
  | Bar
  | At
  | Lpar
  | Rpar
  | Lbrack
  | Rbrack
  | Lcurly
  | Rcurly
  | Lcurlycurly
  | Rcurlycurly
  | Dollar
  | CSome
  | CEvery
  | CLet
  | CFor
  | CommentLpar
  | TextLpar
  | NodeLpar
  | ProcessingInstructionLpar
  | FunctionNameLpar of uqname
  | If
  | DefineFunction
  | DefineSignature
  | CastAs
  | TreatAs
  | AssertAs
  | Integer of Decimal._integer
  | String of string
  | DescendingT
  | AscendingT
  | SchemaDecl of string
  | TTypeDefn of Namespace.uqname
  | TElementDefn of Namespace.uqname
  | TAttributeDefn of Namespace.uqname
  | TElement
  | TAttribute
  | TType
  | DefineGlobal
  | RAttribute
  | RTextAttribute of Datatypes.xdt_untyped
  | RAttributeLCurly
  | RTextAttributeLCurly of Datatypes.xdt_untyped

type tokens = xqtoken list

