However, the compile_and_test function in utils.py in the python support code doesn't handle a allocate_registers pass.
Also some information about how to add the functions build_interference (exercise 4.3) and uncover_live (exercise 4.2) into the compiler pipeline would be helpful since the Racket version of the book explicitly says that these functions need to be added as new passes.
Thanks for noticing this! I've updated the exercise descriptions to be explicit. For Python there's just one pass, assign_homes, but it makes use of three functions (uncover_live, etc.).
The first line of exercise 4.4 states:
However, the
compile_and_test
function in utils.py in the python support code doesn't handle aallocate_registers
pass.Also some information about how to add the functions
build_interference
(exercise 4.3) anduncover_live
(exercise 4.2) into the compiler pipeline would be helpful since the Racket version of the book explicitly says that these functions need to be added as new passes.