/* Generated By:CSharpCC: Do not edit this line. SelectorParserConstants.cs */
public  class SelectorParserConstants {

  public const int EOF = 0;
  public const int LINE_COMMENT = 6;
  public const int BLOCK_COMMENT = 7;
  public const int NOT = 8;
  public const int AND = 9;
  public const int OR = 10;
  public const int BETWEEN = 11;
  public const int LIKE = 12;
  public const int ESCAPE = 13;
  public const int IN = 14;
  public const int IS = 15;
  public const int TRUE = 16;
  public const int FALSE = 17;
  public const int NULL = 18;
  public const int XPATH = 19;
  public const int XQUERY = 20;
  public const int DECIMAL_LITERAL = 21;
  public const int HEX_LITERAL = 22;
  public const int OCTAL_LITERAL = 23;
  public const int FLOATING_POINT_LITERAL = 24;
  public const int EXPONENT = 25;
  public const int STRING_LITERAL = 26;
  public const int ID = 27;

  public const int DEFAULT = 0;

  public readonly string[] tokenImage = {
    "<EOF>",
    "\" \"",
    "\"\\t\"",
    "\"\\n\"",
    "\"\\r\"",
    "\"\\f\"",
    "<LINE_COMMENT>",
    "<BLOCK_COMMENT>",
    "\"NOT\"",
    "\"AND\"",
    "\"OR\"",
    "\"BETWEEN\"",
    "\"LIKE\"",
    "\"ESCAPE\"",
    "\"IN\"",
    "\"IS\"",
    "\"TRUE\"",
    "\"FALSE\"",
    "\"NULL\"",
    "\"XPATH\"",
    "\"XQUERY\"",
    "<DECIMAL_LITERAL>",
    "<HEX_LITERAL>",
    "<OCTAL_LITERAL>",
    "<FLOATING_POINT_LITERAL>",
    "<EXPONENT>",
    "<STRING_LITERAL>",
    "<ID>",
    "\"=\"",
    "\"<>\"",
    "\">\"",
    "\">=\"",
    "\"<\"",
    "\"<=\"",
    "\"(\"",
    "\",\"",
    "\")\"",
    "\"+\"",
    "\"-\"",
    "\"*\"",
    "\"/\"",
    "\"%\"",
  };

}
