parse predicate