Add support for variables in predicates
Raise an exception for an invalid back-reference