wip parsing in order of precendence
make the AND|OR regex non-greedy
modify AND|OR to iterate over all possible matches, before letting
control fall through to the NOT or ()