implemented code generation for expressions