SourceMap.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Satterthwaite, October 10, 1985 3:45:24 pm PDT
Sweet, October 10, 1985 12:00:10 pm PDT
SourceMap: DEFINITIONS = {
Loc: TYPE[1];
nullLoc: Loc = LOOPHOLE[CARDINAL.LAST];
Init, Reset: PROC;
Cons: PROC[index: INT] RETURNS[Loc];
Val: PROC[loc: Loc] RETURNS[INT];
Down: PROC[loc: Loc] RETURNS[CARDINAL] = INLINE {
RETURN[LOOPHOLE[loc, CARDINAL]]};
Up: PROC[code: CARDINAL] RETURNS[Loc] = INLINE {
RETURN[LOOPHOLE[code, Loc]]};
Delta: PROC[loc1, loc2: Loc] RETURNS[CARDINAL] = INLINE {
RETURN[Down[loc1] - Down[loc2]]};
Incr: PROC[loc: Loc, delta: CARDINAL] RETURNS[Loc] = INLINE {
RETURN[Up[Down[loc]+delta]]};
}.