Ejemplo n.º 1
0
 private static Parser<Filter> query(Parser<Filter> atom) {
   Parser.Reference<Filter> ref = Parser.newReference();
   Parser<Filter> unit = ref.lazy().between(term("("), term(")")).or(atom);
   Parser<Filter> parser =
       new OperatorTable<Filter>()
           .infixl(op(",", BinaryOperator.OR), 10)
           .infixl(op("+", BinaryOperator.AND), 20)
           .build(unit);
   ref.set(parser);
   return parser;
 }