add error codes
generator functions for lvals
functions for printing lvals
update eval function to work with lvals instead of longs