public SqlJetMatchExpression(CommonTree ast) throws SqlJetException {
operation = Operation.decode(ast.getText());
assert operation != null;
matchExpression = create((CommonTree) ast.getChild(0));
boolean not = false;
ISqlJetExpression expression = null, escapeExpression = null;
for (int i = 1; i < ast.getChildCount(); i++) {
CommonTree child = (CommonTree) ast.getChild(1);
if ("not".equalsIgnoreCase(child.getText())) {
not = true;
} else if ("escape".equalsIgnoreCase(child.getText())) {