the predicate parser understands a lot more than the expression parser
- boolean value = either true or false value (literal)
- single quoted = block of nodes enclosed by single quotes
- double quoted = block of nodes enclosed by double quotes
- single quoted with functions = block of nodes enclosed by single quotes allowing embedded functions
- double quoted with functions = block of nodes enclosed by double quotes allowing embedded functions