add more methods to the code generator
add compiler utilities
fix a few typos
update the enamldef compiler to use the code generator
finish updating compilers to use the code generator