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]; DefineProcDesc: PROC [procName: ROPE] RETURNS [descAddr: ROPE]; ANewBitAddress: PROC [] RETURNS [C2CAddressing.AddressContainer]; DefineMacro: PROC [name: ROPE, def: C2CDefs.CodeOrRope] RETURNS [Macro]; MacroName: PROC [macro: Macro] RETURNS [ROPE]; END. – 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 --declares a variable and return its name --place specifies where; caller is responsible to use reasonable places only --creates a declaration for a global procedure descriptor [to a outer level procedure] --creates the declarations for a AddressContainer --delayed declaration of --#define name def /n --must be called statically; destructiv on def --PRECOMPUTATION ONCE FOR ALL COMPILATIONS --returns name of macro, and, declares macro if necessary ΚΈ–(cedarcode) style•NewlineDelimiter ™šœ™Icodešœ ΟeœI™TKšœ/™/K™/K˜—šΟk ˜ Kšœ˜Kšœ˜Kšœ˜Kšœ ˜ Kšœ˜K˜—KšΟn œžœž œ˜"Kšž˜Iimp˜Kšžœžœžœ˜Kšœžœžœ ˜Kšœ žœ˜K˜šŸœžœ(žœ žœžœžœžœ˜kKšΟc)™)K™L—K˜š Ÿœžœ žœžœ žœ˜?Kš V™V—K˜šŸœžœžœ"˜AKš 1™1—K˜K˜šŸ œžœžœžœ ˜HKš ™Kšœ™Kšœ/™/Kšœ+™+—K˜šŸ œžœžœžœ˜.Kš 9™9—K˜Kšžœ˜K˜—…—(v