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]]};