case 43:
case 37:
	public final int  axis_spec() throws RecognitionException, TokenStreamException {		int axis;							axis = -1;						switch ( LA(1)) {		case LITERAL_descendant:		{			match(LITERAL_descendant);			match(COLON);			match(COLON);			if ( inputState.guessing==0 ) {										axis = Constants.DESCENDANT_AXIS;								}			break;		}		case 43:		{			match(43);			match(COLON);			match(COLON);			if ( inputState.guessing==0 ) {										axis = Constants.DESCENDANT_SELF_AXIS;								}			break;		}		case LITERAL_child:		{			match(LITERAL_child);			match(COLON);			match(COLON);			if ( inputState.guessing==0 ) {										axis = Constants.CHILD_AXIS;								}			break;		}		case LITERAL_parent:		{			match(LITERAL_parent);			match(COLON);			match(COLON);			if ( inputState.guessing==0 ) {										axis = Constants.PARENT_AXIS;								}			break;		}		case LITERAL_self:		{			match(LITERAL_self);			match(COLON);			match(COLON);			if ( inputState.guessing==0 ) {										axis = Constants.SELF_AXIS;								}			break;		}		case LITERAL_attribute:		{			match(LITERAL_attribute);			match(COLON);			match(COLON);			if ( inputState.guessing==0 ) {										axis = Constants.ATTRIBUTE_AXIS;								}			break;		}		case LITERAL_ancestor:		{			match(LITERAL_ancestor);			match(COLON);			match(COLON);			if ( inputState.guessing==0 ) {										axis = Constants.ANCESTOR_AXIS;								}			break;		}		case 49:		{			match(49);			match(COLON);			match(COLON);			if ( inputState.guessing==0 ) {										axis = Constants.ANCESTOR_SELF_AXIS;								}			break;		}		case 50:		{			match(50);			match(COLON);			match(COLON);			if ( inputState.guessing==0 ) {										axis = Constants.FOLLOWING_SIBLING_AXIS;								}			break;		}		case 51:		{			match(51);			match(COLON);			match(COLON);			if ( inputState.guessing==0 ) {										axis = Constants.PRECEDING_SIBLING_AXIS;								}			break;		}		default:		{			throw new NoViableAltException(LT(1), getFilename());		}		}		return axis;	}