
//----------------------------------------------------
// The following code was generated by CUP v0.10k
// Mon Dec 14 02:02:22 CET 2009
//----------------------------------------------------

package org.eclipse.wst.xml.xpath2.processor.internal;

/** CUP generated class containing symbol constants. */
public class XpathSym {
  /* terminals */
  public static final int DESCENDANT_OR_SELF = 32;
  public static final int AS = 56;
  public static final int GT = 45;
  public static final int FOLLOWING = 34;
  public static final int FORWARD_SLASHSLASH = 19;
  public static final int PARENT = 36;
  public static final int GE = 46;
  public static final int DOCUMENT_NODE = 75;
  public static final int NAMESPACE = 35;
  public static final int FORWARD_SLASH = 18;
  public static final int TREAT = 55;
  public static final int NODE = 74;
  public static final int COMMA = 24;
  public static final int ANCESTOR = 37;
  public static final int LT = 43;
  public static final int INTEGER = 83;
  public static final int DOUBLE = 84;
  public static final int CHILD = 28;
  public static final int FOLLOWING_SIBLING = 33;
  public static final int EVERY = 66;
  public static final int SELF = 31;
  public static final int LE = 44;
  public static final int ELEMENT = 80;
  public static final int TEXT = 76;
  public static final int INSTANCE = 53;
  public static final int NOTEQUALS = 11;
  public static final int THEN = 68;
  public static final int SCHEMA_ELEMENT = 81;
  public static final int SCHEMA_ATTRIBUTE = 79;
  public static final int ANCESTOR_OR_SELF = 40;
  public static final int EQ = 41;
  public static final int PRECEDING = 39;
  public static final int MOD = 49;
  public static final int AT_SYM = 21;
  public static final int DOLLAR = 25;
  public static final int EXCEPT = 52;
  public static final int LESSTHAN = 12;
  public static final int PIPE = 9;
  public static final int LESSEQUAL = 13;
  public static final int QUESTIONMARK = 27;
  public static final int PLUS = 6;
  public static final int IDIV = 48;
  public static final int LPAR = 4;
  public static final int UNION = 50;
  public static final int GREATEREQUAL = 15;
  public static final int DECIMAL = 85;
  public static final int FOR = 60;
  public static final int STAR = 8;
  public static final int GREATER = 14;
  public static final int PRECEDING_SIBLING = 38;
  public static final int DIV = 47;
  public static final int RETURN = 62;
  public static final int ELSE = 69;
  public static final int DOTDOT = 22;
  public static final int DOT = 26;
  public static final int EOF = 0;
  public static final int NCNAME = 87;
  public static final int COMMENT = 77;
  public static final int INTERSECT = 51;
  public static final int RPAR = 5;
  public static final int ITEM = 73;
  public static final int EMPTY_SEQUENCE = 72;
  public static final int CASTABLE = 57;
  public static final int IS = 59;
  public static final int MINUS = 7;
  public static final int PROCESSING_INSTRUCTION = 78;
  public static final int IN = 61;
  public static final int OR = 71;
  public static final int error = 1;
  public static final int ATTRIBUTE = 30;
  public static final int IF = 67;
  public static final int TYPESWITCH = 82;
  public static final int CAST = 58;
  public static final int OF = 54;
  public static final int COLON = 23;
  public static final int DESCENDANT = 29;
  public static final int SOME = 65;
  public static final int RBRACKET = 3;
  public static final int COLONCOLON = 20;
  public static final int GREATER_GREATER = 17;
  public static final int STRING = 86;
  public static final int SATISFIES = 63;
  public static final int AND = 70;
  public static final int TO = 64;
  public static final int LBRACKET = 2;
  public static final int NE = 42;
  public static final int LESS_LESS = 16;
  public static final int EQUALS = 10;
}

