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/mltree/operand-table.sig
ViewVC logotype

View of /sml/trunk/src/MLRISC/mltree/operand-table.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 591 - (download) (as text) (annotate)
Mon Apr 3 01:19:20 2000 UTC (19 years, 3 months ago) by leunga
File size: 806 byte(s)

   1. Renamed the constructor CALL in MLTREE by popular demand.
   2. Added a bunch of files from my repository.  These are currently
      used by other non-SMLNJ backends.
(*
 * A table for storing operands for a compilation unit.
 * We give each distinct operand a unique (negative) value number.
 *)
signature OPERAND_TABLE =
sig

   structure I : INSTRUCTIONS

   type operandTable
   type value = int

   datatype const =
     IMMED of int           (* integer operand *)
   | OPERAND of I.operand   (* other operand *)
   | LABEL of Label.label   (* a label *)

   exception NoLabel
   exception NoOperand
   exception NoConst

   (* Create a new table *)
   val create  : int ref -> operandTable 

   (* Lookup/create *)
   val immed   : operandTable -> int -> value
   val operand : operandTable -> I.operand -> value
   val label   : operandTable -> Label.label -> value 

   (* Value number -> int/operand/label *)
   val const    : operandTable -> value -> const

end

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