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.