Changes

1. returns tokens by value
2. build a parse tree from an expression