C2CStateUtils.mesa
Copyright Ó 1987, 1988, 1989, 1990, 1991 by Xerox Corporation. All rights reserved.
Christian Jacobi, March 10, 1988 2:41:32 pm PST
Christian Jacobi, December 11, 1992 1:24 pm PST
DIRECTORY
C2CAddressing,
C2CCodePlaces,
C2CDefs,
IntCodeDefs,
Rope;
C2CStateUtils: CEDAR DEFINITIONS =
BEGIN
ROPE: TYPE = Rope.ROPE;
Macro: TYPE = REF MacroRep;
MacroRep: TYPE;
DeclareVariable: PROC [place: C2CCodePlaces.CodePlace, bits: INT, prefix: ROPE ¬ NIL] RETURNS [name: ROPE];
--declares a variable and return its name
--place specifies where; caller is responsible to use reasonable places only
DefineProcDesc: PROC [procName: ROPE] RETURNS [descAddr: ROPE];
--creates a declaration for a global procedure descriptor [to a outer level procedure]
ANewBitAddress: PROC [] RETURNS [C2CAddressing.AddressContainer];
--creates the declarations for a AddressContainer
DefineMacro: PROC [name: ROPE, def: C2CDefs.CodeOrRope] RETURNS [Macro];
--delayed declaration of
--#define name def /n
--must be called statically; destructiv on def
--PRECOMPUTATION ONCE FOR ALL COMPILATIONS
MacroName: PROC [macro: Macro] RETURNS [ROPE];
--returns name of macro, and, declares macro if necessary
END.