Math operations now detect contexts with operators
Now the tree listener uses stacks and every expression returns a value
Change rules names to generate java compatible names in methods