Added * and +, predicates, and the char rule