public class Parser
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private static class |
Parser.SubNodeFactory |
Constructor and Description |
---|
Parser() |
Modifier and Type | Method and Description |
---|---|
static ASTNode |
buildParseTree(java.util.Vector<Token> tokens) |
private static void |
condenseFuncCall(ASTNodeAbstractExpr node,
int funcStart) |
private static boolean |
isStep(ASTNodeAbstractExpr node) |
static XPathExpression |
parse(java.util.Vector<Token> tokens) |
private static void |
parseBalanced(ASTNode node,
Parser.SubNodeFactory snf,
int lToken,
int rToken) |
private static void |
parseBinaryOp(ASTNode node,
int[] ops,
int associativity) |
private static ASTNodeFilterExpr |
parseFilterExp(ASTNodeAbstractExpr node) |
private static void |
parseFuncCalls(ASTNode node) |
private static void |
parseOperators(ASTNode root) |
private static void |
parseParens(ASTNode node) |
private static void |
parsePathExpr(ASTNode node) |
private static void |
parsePredicates(ASTNode node) |
private static ASTNodePathStep |
parseStep(ASTNodeAbstractExpr node) |
private static void |
parseUnaryOp(ASTNode node,
int op) |
static int |
vectInt(java.util.Vector<java.lang.Integer> v,
int i) |
static void |
verifyBaseExpr(ASTNode node) |
public static XPathExpression parse(java.util.Vector<Token> tokens) throws XPathSyntaxException
XPathSyntaxException
public static ASTNode buildParseTree(java.util.Vector<Token> tokens) throws XPathSyntaxException
XPathSyntaxException
private static void parseOperators(ASTNode root)
private static void parseFuncCalls(ASTNode node) throws XPathSyntaxException
XPathSyntaxException
private static void condenseFuncCall(ASTNodeAbstractExpr node, int funcStart) throws XPathSyntaxException
XPathSyntaxException
private static void parseParens(ASTNode node) throws XPathSyntaxException
XPathSyntaxException
private static void parsePredicates(ASTNode node) throws XPathSyntaxException
XPathSyntaxException
private static void parseBalanced(ASTNode node, Parser.SubNodeFactory snf, int lToken, int rToken) throws XPathSyntaxException
XPathSyntaxException
private static void parseBinaryOp(ASTNode node, int[] ops, int associativity)
private static void parseUnaryOp(ASTNode node, int op)
private static void parsePathExpr(ASTNode node) throws XPathSyntaxException
XPathSyntaxException
private static boolean isStep(ASTNodeAbstractExpr node)
private static ASTNodePathStep parseStep(ASTNodeAbstractExpr node) throws XPathSyntaxException
XPathSyntaxException
private static ASTNodeFilterExpr parseFilterExp(ASTNodeAbstractExpr node) throws XPathSyntaxException
XPathSyntaxException
public static void verifyBaseExpr(ASTNode node) throws XPathSyntaxException
XPathSyntaxException
public static int vectInt(java.util.Vector<java.lang.Integer> v, int i)