Lots of changes. Codegen and parser take arguments. Fixed force generation. Run-length encoding on states