case 107: break; case 14:
case 110: break; case 15:
  public java_cup.runtime.Symbol next_token() throws java.io.IOException, XPathParseException {    int zzInput;    int zzAction;    // cached fields:    int zzCurrentPosL;    int zzMarkedPosL;    int zzEndReadL = zzEndRead;    char [] zzBufferL = zzBuffer;    char [] zzCMapL = ZZ_CMAP;    int [] zzTransL = ZZ_TRANS;    int [] zzRowMapL = ZZ_ROWMAP;    int [] zzAttrL = ZZ_ATTRIBUTE;    while (true) {      zzMarkedPosL = zzMarkedPos;      zzAction = -1;      zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;        zzState = zzLexicalState;      zzForAction: {        while (true) {              if (zzCurrentPosL < zzEndReadL)            zzInput = zzBufferL[zzCurrentPosL++];          else if (zzAtEOF) {            zzInput = YYEOF;            break zzForAction;          }          else {            // store back cached positions            zzCurrentPos  = zzCurrentPosL;            zzMarkedPos   = zzMarkedPosL;            boolean eof = zzRefill();            // get translated positions and possibly new buffer            zzCurrentPosL  = zzCurrentPos;            zzMarkedPosL   = zzMarkedPos;            zzBufferL      = zzBuffer;            zzEndReadL     = zzEndRead;            if (eof) {              zzInput = YYEOF;              break zzForAction;            }            else {              zzInput = zzBufferL[zzCurrentPosL++];            }          }          int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];          if (zzNext == -1) break zzForAction;          zzState = zzNext;          int zzAttributes = zzAttrL[zzState];          if ( (zzAttributes & 1) == 1 ) {            zzAction = zzState;            zzMarkedPosL = zzCurrentPosL;            if ( (zzAttributes & 8) == 8 ) break zzForAction;          }        }      }      // store back cached position      zzMarkedPos = zzMarkedPosL;      switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {        case 52:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i = FuncName.CONTAINS;				fname = new FuncName();				fname.i = FuncName.CONTAINS;				return sym(FNAME,fname);          }        case 73: break;        case 64:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i = FuncName.STRING_LENGTH;				fname = new FuncName();				fname.i = FuncName.STRING_LENGTH;				return sym(FNAME,fname);          }        case 74: break;        case 50:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i =  FuncName.POSITION;				fname = new FuncName();				fname.i = FuncName.POSITION;				return sym(FNAME,fname);          }        case 75: break;        case 24:           { if (isName == 0) {			 isName = 1 ;		 return sym(OR);	      } else {		 isName = 0;		 name = new NameType();		 name.qname = "or";		 return sym(NAME,name);	      }          }        case 76: break;        case 22:           { isName = 1 ; return sym(NE);          }        case 77: break;        case 38:           { isName = 1;				at = new AxisType();				at.i = AxisType.SELF;				return sym(AXISNAME,at);          }        case 78: break;        case 29:           { if (isName == 0) {		isName = 1 ;		 return sym(AND);	      } else {		 isName = 0;		 name = new NameType();		 name.qname = "add";		 return sym(NAME,name);	      }          }        case 79: break;        case 71:           { isName = 1;				at = new AxisType();				at.i = AxisType.DESCENDANT_OR_SELF;				return sym(AXISNAME,at);          }        case 80: break;        case 11:           { isName = 1 ; return sym(LB);          }        case 81: break;        case 10:           { isName = 0 ; return sym(RP);          }        case 82: break;        case 57:           { isName =0;				at = new AxisType();				at.i = AxisType.NAMESPACE;				return sym(AXISNAME,at);          }        case 83: break;        case 34:           { isName = 1; 			 	yypushback(1);				fname = new FuncName();				fname.i = FuncName.LAST;				return sym(FNAME,fname);          }        case 84: break;        case 1:           { isName = 0;				name = new NameType();				name.qname = new String(yytext());				//System.out.println("returned a NAME ==>" + yytext());				if (yytext().charAt(0) =='-'){				    throw new XPathParseException("Invalid char in name token:"+yytext());				}				return sym(NAME,name);          }        case 85: break;        case 62:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i = FuncName.STARTS_WITH;				fname = new FuncName();				fname.i = FuncName.STARTS_WITH;				return sym(FNAME,fname);          }        case 86: break;        case 7:           { isName = 1 ; return sym(AT);          }        case 87: break;        case 33:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i = FuncName.LANG;				fname = new FuncName();				fname.i = FuncName.LANG;				return sym(FNAME,fname);          }        case 88: break;        case 67:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i = FuncName.SUBSTRING_BEFORE;				fname = new FuncName();				fname.i = FuncName.SUBSTRING_BEFORE;				return sym(FNAME,fname);          }        case 89: break;        case 32:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i =  FuncName.NAME;				fname = new FuncName();				fname.i = FuncName.NAME;				return sym(FNAME,fname);          }        case 90: break;        case 36:           { isName = 0;				ntest = new Ntest();				ntest.i = Ntest.NODE;				ntest.arg = null;				return sym(NTEST,ntest);          }        case 91: break;        case 41:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i = FuncName.FALSE;				fname = new FuncName();				fname.i = FuncName.FALSE;				return sym(FNAME,fname);          }        case 92: break;        case 58:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i =  FuncName.LOCAL_NAME;				fname = new FuncName();				fname.i = FuncName.LOCAL_NAME;				return sym(FNAME,fname);          }        case 93: break;        case 44:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i =  FuncName.STRING;				fname = new FuncName();				fname.i = FuncName.STRING;				return sym(FNAME,fname);          }        case 94: break;        case 28:           { if (isName == 0) {		  isName = 1 ;		 return sym(MOD);	      } else {		 isName = 0;		 name = new NameType();		 name.qname = "mod";		 System.out.println("returned a NAME "+yytext());		 return sym(NAME,name);	      }          }        case 95: break;        case 13:           { isName = 1 ; return sym(GT);          }        case 96: break;        case 51:           { isName = 0;				ntest = new Ntest();				ntest.i = Ntest.COMMENT;				ntest.arg =  null;				return sym(NTEST,ntest);          }        case 97: break;        case 49:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i = FuncName.BOOLEAN;				fname = new FuncName();				fname.i = FuncName.BOOLEAN;				return sym(FNAME,fname);          }        case 98: break;        case 15:           { isName = 1 ; return sym(EQ);          }        case 99: break;        case 56:           { isName = 1;				at = new AxisType();				at.i = AxisType.ATTRIBUTE;				return sym(AXISNAME,at);          }        case 100: break;        case 3:           { isName = 0;				number = new Double(yytext());				//System.out.println("number returned ==> "+ Double.parseDouble(yytext()));				return sym(NUMBER,number);          }        case 101: break;        case 42:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i = FuncName.FLOOR;				fname = new FuncName();				fname.i = FuncName.FLOOR;				return sym(FNAME,fname);          }        case 102: break;        case 31:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i = FuncName.SUM;				fname = new FuncName();				fname.i = FuncName.SUM;				return sym(FNAME,fname);          }        case 103: break;        case 27:           { if (isName == 0 ) {		  isName = 1 ;		 return sym(DIV);	      } else {		 isName = 0;		 name = new NameType();		 name.qname = "div";		 return sym(NAME,name);	      }          }        case 104: break;        case 26:           { isName = 0;				len = yytext().length();				name = new NameType();				name.prefix = yytext().substring(1,len-1);				name.localname = "*";				return sym(NAME,name);          }        case 105: break;        case 25:           { isName = 0;				len = yytext().length();				literal = yytext().substring(1, len-1);				return sym(LITERAL,literal);          }        case 106: break;        case 17:           { isName = 1 ; 	 //System.out.println("SLASH returned ");	 return sym(SLASH);          }        case 107: break;        case 14:           { isName = 1 ; return sym(LT);          }        case 108: break;        case 23:           { isName = 1 ; 	 //System.out.println("DSLASH returned "); 	 return sym(DSLASH);          }        case 109: break;        case 72:           { isName = 0;						ntest = new Ntest();						ntest.i = Ntest.PROCESSING_INSTRUCTION;						ntest.arg = null;						return sym(NTEST,ntest);          }        case 110: break;        case 12:           { isName = 0 ; return sym(RB);          }        case 111: break;        case 66:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i = FuncName.SUBSTRING_AFTER;				fname = new FuncName();				fname.i = FuncName.SUBSTRING_AFTER;				return sym(FNAME,fname);          }        case 112: break;        case 35:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i = FuncName.TRUE;				fname = new FuncName();				fname.i = FuncName.TRUE;				return sym(FNAME,fname);          }        case 113: break;        case 48:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i = FuncName.CEILING;				fname = new FuncName();				fname.i = FuncName.CEILING;				return sym(FNAME,fname);          }        case 114: break;        case 19:           { isName = 0 ; return sym(DDOT);          }        case 115: break;        case 69:           { isName = 1;				at = new AxisType();				at.i = AxisType.PRECEDING_SIBLING;				return sym(AXISNAME,at);          }        case 116: break;        case 63:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i =  FuncName.NAMESPACE_URI;				fname = new FuncName();				fname.i = FuncName.NAMESPACE_URI;				return sym(FNAME,fname);          }        case 117: break;        case 9:           { isName = 1 ; return sym(LP);          }        case 118: break;        case 5:           { isName = 1 ; return sym(ADD);          }        case 119: break;        case 55:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i = FuncName.TRANSLATE;				fname = new FuncName();				fname.i = FuncName.TRANSLATE;				return sym(FNAME,fname);          }        case 120: break;        case 40:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i =  FuncName.COUNT;				fname = new FuncName();				fname.i = FuncName.COUNT;				return sym(FNAME,fname);          }        case 121: break;        case 59:           { isName = 1;				at = new AxisType();				at.i = AxisType.PRECEDING;				return sym(AXISNAME,at);          }        case 122: break;        case 16:           { if (isName ==0){		isName = 1;		System.out.println("returned a MULT");		return  sym(MULT);	}	 else {		isName = 0;		name = new NameType();		name.qname = "*";		return sym(NAME,name);	 }          }        case 123: break;        case 8:           { isName = 1 ; return sym(COMMA);          }        case 124: break;        case 45:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i = FuncName.CONCAT;				fname = new FuncName();				fname.i = FuncName.CONCAT;				return sym(FNAME,fname);          }        case 125: break;        case 53:           { isName = 1;				at = new AxisType();				at.i = AxisType.ANCESTOR;				return sym(AXISNAME,at);          }        case 126: break;        case 46:           { isName = 1;				at = new AxisType();				at.i = AxisType.CHILD;				return sym(AXISNAME,at);          }        case 127: break;        case 18:           { isName = 1 ; return sym(UNION) ;          }        case 128: break;        case 70:           { isName = 1;				at = new AxisType();				at.i = AxisType.FOLLOWING_SIBLING;				return sym(AXISNAME,at);          }        case 129: break;        case 4:           { isName = 1 ; return sym(SUB);          }        case 130: break;        case 30:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i = FuncName.NOT;				fname = new FuncName();				fname.i = FuncName.NOT;				return sym(FNAME,fname);          }        case 131: break;        case 43:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i = FuncName.NUMBER;				fname = new FuncName();				fname.i = FuncName.NUMBER;				return sym(FNAME,fname);          }        case 132: break;        case 39:           { isName = 0;				ntest = new Ntest();				ntest.i = Ntest.TEXT;				ntest.arg = null;				return sym(NTEST,ntest);          }        case 133: break;        case 60:           { isName = 1;				at = new AxisType();				at.i = AxisType.FOLLOWING;				return sym(AXISNAME,at);          }        case 134: break;        case 20:           { isName = 1 ; return sym(GE);          }        case 135: break;        case 47:           { isName = 1;				at = new AxisType();				at.i = AxisType.PARENT;				return sym(AXISNAME,at);          }        case 136: break;        case 2:           { /* eat white space */          }        case 137: break;        case 68:           { isName = 1;				at = new AxisType();				at.i = AxisType.ANCESTOR_OR_SELF;				return sym(AXISNAME,at);          }        case 138: break;        case 6:           { isName = 0 ; return sym(DOT);          }        case 139: break;        case 65:           { isName =1; 			 	yypushback(1);				//yyparser.yylval.fname.i = FuncName.NORMALIZE_SPACE;				fname = new FuncName();				fname.i = FuncName.NORMALIZE_SPACE;				return sym(FNAME,fname);          }        case 140: break;        case 37:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i = FuncName.ROUND;				fname = new FuncName();				fname.i = FuncName.ROUND;				return sym(FNAME,fname);          }        case 141: break;        case 54:           { isName = 1; 			 	yypushback(1);				//yyparser.yylval.fname.i = FuncName.SUBSTRING;				fname = new FuncName();				fname.i = FuncName.SUBSTRING;				return sym(FNAME,fname);          }        case 142: break;        case 61:           { isName = 1;				at = new AxisType();				at.i = AxisType.DESCENDANT;				return sym(AXISNAME,at);          }        case 143: break;        case 21:           { isName = 1 ; return sym(LE);          }        case 144: break;        default:           if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {            zzAtEOF = true;            zzDoEOF();              { return new java_cup.runtime.Symbol(sym.EOF); }          }           else {            zzScanError(ZZ_NO_MATCH);          }      }    }  }