fixed the following issues:
1 bracketing of right subexpressions of non-commutative operators
2 writing string literals
3 reading into array variables
4 removed pro hacker void pointers and magic numbers from precedence
checking
TODO:
1 Improved commenting and use of more abstraction in pretty.c (rather than
long-ass case statements)
2 testing