Move parser_compile from compile.c, into parser.c and split the phases into separate functions.