rebuilt XPath using ANTLR itself; added error handling; added ! operator