break _loop394;
break _loop53;
	public final Expression  regularexpr(		PathExpr expr	) throws RecognitionException, TokenStreamException, PermissionDeniedException,EXistException {		Expression result;				result = null; Predicate pred = null;						switch ( LA(1)) {		case SLASH:		{			match(SLASH);			result=regularexpr(expr);			if ( inputState.guessing==0 ) {										if(result instanceof Step && ((Step)result).getAxis() == -1)							((Step)result).setAxis(Constants.CHILD_AXIS);							}			break;		}		case DSLASH:		{			match(DSLASH);			result=regularexpr(expr);			if ( inputState.guessing==0 ) {										if(result instanceof Step)							((Step)result).setAxis(Constants.DESCENDANT_AXIS);							}			break;		}		case LPAREN:		case ID:		case CONST:		case STAR:		case INT:		case LITERAL_text:		case 33:		case 34:		case LITERAL_contains:		case LITERAL_match:		case LITERAL_near:		case FUNC:		case ATTRIB:		case ATTRIB_STAR:		case LITERAL_node:		case PARENT:		case SELF:		{			result=step(expr);			if ( inputState.guessing==0 ) {										if(result instanceof Step && ((Step)result).getAxis() == -1)				((Step)result).setAxis(Constants.CHILD_AXIS);							}			{			_loop394:			do {				if ((LA(1)==LPPAREN)) {					pred=predicate(expr);					if ( inputState.guessing==0 ) {														  expr.addPredicate(pred);												}				}				else {					break _loop394;				}							} while (true);			}			break;		}		default:		{			throw new NoViableAltException(LT(1), getFilename());		}		}		return result;	}