class XPathParser {

    protected KindTest parseKindTest( TokenStream tokens ) {
        KindTest result = parseAnyKindTest(tokens);
        if (result == null) result = parseDocumentTest(tokens);
        if (result == null) result = parseElementTest(tokens);
        if (result == null) result = parseAttributeTest(tokens);
        if (result == null) result = parseSchemaElementTest(tokens);
        if (result == null) result = parseSchemaAttributeTest(tokens);
        if (result == null) result = parsePITest(tokens);
        if (result == null) result = parseCommentTest(tokens);
        if (result == null) result = parseTextTest(tokens);
        return result;
    }

    public  XPathParser( TypeSystem context );

}