|
|
1.1 ! root 1: (* Copyright 1989 by AT&T Bell Laboratories *) ! 2: (* emitter.sig ! 3: * ! 4: * J.H. Reppy ! 5: * Cornell University ! 6: * Ithaca, NY 14853 ! 7: * [email protected] ! 8: * ! 9: * HISTORY: ! 10: * 11/20/89 created ! 11: * ! 12: * This is the signature of the assembler and machine code emitters. ! 13: *) ! 14: ! 15: signature EMITTER = ! 16: sig ! 17: type instruction ! 18: type label ! 19: ! 20: val emitLong : int -> unit (* emit an integer constant *) ! 21: val emitString : string -> unit (* emit a (padded) string constant *) ! 22: val emitReal : string -> unit (* emit a real constant *) ! 23: (* NOTE: the following is useful for asm code, but could be replaced by ! 24: * emitLong. *) ! 25: val emitAddr : (label * int) -> unit (* emit a label value (with offset) *) ! 26: ! 27: val define : label -> unit (* define a label *) ! 28: val mark : unit -> unit (* emit a back-pointer mark *) ! 29: ! 30: val emitInstr : instruction -> unit (* emit an instruction *) ! 31: ! 32: val comment : string -> unit ! 33: ! 34: val init : int -> unit (* initialize to emit n bytes of code *) ! 35: ! 36: end (* signature EMITTER *)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.