Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] View of /sml/trunk/src/MLRISC/instructions/stream.sml
ViewVC logotype

View of /sml/trunk/src/MLRISC/instructions/stream.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 410 - (download) (annotate)
Fri Sep 3 00:25:03 1999 UTC (19 years, 11 months ago)
Original Path: sml/branches/SMLNJ/src/MLRISC/instructions/stream.sml
File size: 918 byte(s)
This commit was manufactured by cvs2svn to create branch 'SMLNJ'.
(*
 * This is a generic instruction stream datatype.
 * Components such as assemblers, machine code emitters, instruction
 * selection modules communicate with each via this interface.
 *
 * -- Allen
 *)

functor InstructionStreamFn(structure P : PSEUDO_OPS
                            structure B : BLOCK_NAMES
                           ) : INSTRUCTION_STREAM =
struct

   structure P = P
   structure B = B

   datatype ('a,'b,'c) stream =
      STREAM of
         { init        : int -> unit,
           finish      : 'c -> unit,
           emit        : (int -> int) -> 'a -> unit,
           pseudoOp    : P.pseudo_op -> unit,
           defineLabel : Label.label -> unit, 
           entryLabel  : Label.label -> unit, 
           comment     : string -> unit,
           blockName   : B.name -> unit,
           annotation  : Annotations.annotation -> unit,
           exitBlock   : 'b -> unit
         }

end

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0