(** Save assembly to output file or print to [stdout]. *) (** If an output file is specified in the [-o] command-line argument, the genrated assembly code is save to that file. Otherwise, the final assembly code is printed to [stdout]. This allows for using the compiler with UNIX pipes, since other output is written to [stderr] and the {!Load} phase can also read from [stdin]: {v ./civicc < foo.cvc > foo.s v} This phase has [Assembly] as input and outputs [Empty]. *) (** Main phase function, called by {!Main}. *) val phase : Main.phase_func