Parse expressions
Redefine lval struct:

* hold errors in strings
* allow struct to reference itself
* insert a count and add a pointer to lval