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