Search in sources :

Example 1 with AndOp

use of org.eclipse.scout.rt.server.jdbc.parsers.sql.SqlParserToken.AndOp in project scout.rt by eclipse.

the class SqlParser method parseAndExpr.

private AndExpr parseAndExpr(List<IToken> list, ParseContext ctx) {
    // MathExpr (BinaryOp['AND'] MathExpr)*
    ParseStep lock = ctx.checkAndAdd("AndExpr", list);
    if (lock == null) {
        return null;
    }
    try {
        IToken me = parseMathExpr(list, ctx);
        if (me == null) {
            return null;
        }
        AndExpr ae = new AndExpr();
        ae.addChild(me);
        AndOp ao;
        while ((ao = removeToken(list, AndOp.class)) != null && (me = parseMathExpr(list, ctx)) != null) {
            ae.addChild(ao);
            ae.addChild(me);
        }
        // remaining?
        if (ao != null) {
            ao.addComment(new Comment("/*syntax warning*/"));
            ae.addChild(ao);
        }
        return ae;
    } finally {
        ctx.remove(lock);
    }
}
Also used : AndExpr(org.eclipse.scout.rt.server.jdbc.parsers.sql.SqlParserToken.AndExpr) Comment(org.eclipse.scout.rt.server.jdbc.parsers.sql.SqlParserToken.Comment) IToken(org.eclipse.scout.rt.server.jdbc.parsers.sql.SqlParserToken.IToken) AndOp(org.eclipse.scout.rt.server.jdbc.parsers.sql.SqlParserToken.AndOp)

Aggregations

AndExpr (org.eclipse.scout.rt.server.jdbc.parsers.sql.SqlParserToken.AndExpr)1 AndOp (org.eclipse.scout.rt.server.jdbc.parsers.sql.SqlParserToken.AndOp)1 Comment (org.eclipse.scout.rt.server.jdbc.parsers.sql.SqlParserToken.Comment)1 IToken (org.eclipse.scout.rt.server.jdbc.parsers.sql.SqlParserToken.IToken)1