code: public static <E> LogicExpression<E> compile(final String input,
              final Function<String, Arg<E>> factoryDelegate) {
          return new LogicExpressionParser<E>() {
              @Override
              public Arg<E> factory(String argument) {
                  return factoryDelegate.apply(argument);
              }
          }.parse(input);
      }
docs: *
  Helper factory method to instantiate a LogicExpression.
  @param  input  The string to parse.
  @param  factoryDelegate  The factory to build tokens.
  @return  a new LogicExpression