module Main:

  relation main: () => ()

end

with "parse.rml"
with "trans.rml"
with "emit.rml"

relation main: () => ()  =
(* Parse and translate a PAM program into MCode,
 * then emit it as textual assembly code.
 *)

  rule  Parse.parse() => program &
        Trans.trans_program(program)  =>  mcode  &
        Emit.emit_assembly(mcode)
        --------------------
        main

end (* main *)

