This is an example of a Groovy-style Builder (I think).
here's a LR parser in groovy
clean up and get parens working, before working on unary operators
Add boolean logic parser with unary operator, refactor a bit.