update grammar rules
update lval struct definition
add constructors for num, sym, and err types
add constructor for s-expressions
add destructor to free lvals from memory
add method to reallocate memory and add cells to lval
add function to create empty list or fill the list with valid expressions
add s-expression eval functionality