SB.mesa
Copyright Ó 1992 by Xerox Corporation. All rights reserved.
Last Edited by Curry, April 23, 1986 4:55:06 pm PST
Foote, April 28, 1992 10:53 am PDT
DIRECTORY
Basics,
BasicTime,
IO;
SB:
CEDAR
DEFINITIONS
IMPORTS IO =
BEGIN
RopeSeq: TYPE = REF RopeSeqRec;
RopeSeqRec: TYPE = RECORD[SEQUENCE size: CARDINAL OF IO.ROPE];
CardSeq: TYPE = REF CardSeqRec;
CardSeqRec: TYPE = RECORD[SEQUENCE size: CARDINAL OF CARDINAL];
TeamStats: TYPE = REF TeamStatSeq;
TeamStatSeq: TYPE = RECORD[SEQUENCE size: CARDINAL OF TeamStatRec];
TeamStatRec:
TYPE =
RECORD[
points: CARDINAL ← 0,
males: CARDINAL ← 0,
females: CARDINAL ← 0,
players: CARDINAL ← 0,
keeps: CARDINAL ← 0,
dIndex: CARDINAL ← 0,
prtctd: CARDINAL ← 0,
minPick: CARDINAL ← 0 ];
Type: TYPE = {unknown, coach, skeep, player};
Team: TYPE = CARDINAL[0..20];
Rating: TYPE = CARDINAL[0..5];
Paid: TYPE = {unknown, unpaid, paid};
Group: TYPE = CARDINAL[0..20];
Shirt: TYPE = {unknown, Sml, Med, Lrg, XL};
Sex: TYPE = {unknown, male, female};
Pair: TYPE = {unknown, sgl, paired};
unknown: CARDINAL = 0;
Unassigned: Team = 0;
Member: TYPE = REF MemberRec;
MemberRec:
TYPE =
RECORD [
lname: IO.ROPE ← NIL,
fname: IO.ROPE ← NIL,
type: Type ← unknown,
rating: CARDINAL ← unknown,
team: Team ← Unassigned,
paid: Paid ← unknown,
group: Group ← unknown,
shirt: Shirt ← unknown,
sex: Sex ← unknown,
pair: Pair ← sgl,
addr: IO.ROPE ← NIL,
tnum: IO.ROPE ← NIL,
pos: IO.ROPE ← NIL,
atten: IO.ROPE ← NIL,
comnt: IO.ROPE ← NIL,
sse: Member ← NIL,
marked: BOOL ← FALSE,
dIndex: CARDINAL ← 0 ];
League: TYPE = REF LeagueRec;
LeagueRec:
TYPE =
RECORD [
file: IO.ROPE ← NIL,
root: IO.ROPE ← NIL,
time: BasicTime.GMT ← BasicTime.nullGMT,
year: CARDINAL ← 85,
members: LIST OF Member ← NIL,
teamStats: TeamStats ← NIL,
groupCnts: CardSeq ← NIL,
nextDIndex: CARDINAL ← 0,
nextDTeam: CARDINAL ← 0,
players: CARDINAL ← 0,
keeps: CARDINAL ← 0,
males: CARDINAL ← 0,
females: CARDINAL ← 0,
dollarsIn: CARDINAL ← 0,
dollarsOut: CARDINAL ← 0,
paid: CARDINAL ← 0,
unpaid: CARDINAL ← 0,
errorCalled: BOOLEAN ← FALSE,
errorMsg: IO.ROPE ← NIL,
typeNms: RopeSeq ← NIL,
ratingNms: RopeSeq ← NIL,
teamNms: RopeSeq ← NIL,
paidNms: RopeSeq ← NIL,
groupNms: RopeSeq ← NIL,
shirtNms: RopeSeq ← NIL,
pairNms: RopeSeq ← NIL,
sexNms: RopeSeq ← NIL,
lnameMax: CARDINAL ← 0,
fnameMax: CARDINAL ← 0,
typeMax: CARDINAL ← 0,
ratingMax: CARDINAL ← 0,
teamMax: CARDINAL ← 0,
paidMax: CARDINAL ← 0,
groupMax: CARDINAL ← 0,
shirtMax: CARDINAL ← 0,
pairMax: CARDINAL ← 0,
sexMax: CARDINAL ← 0,
addrMax: CARDINAL ← 0,
tnumMax: CARDINAL ← 0,
posMax: CARDINAL ← 0,
attenMax: CARDINAL ← 0,
comntMax: CARDINAL ← 0 ];
RopeSeqIndex: PROC[name: IO.ROPE, ropeSeq: RopeSeq] RETURNS[index: CARDINAL];
ReadLeagueFile:
PROC[file:
IO.
ROPE, log:
IO.
STREAM ←
IO.noWhereStream]
RETURNS[league: League];
CompareNames: PROC[first1, last1, first2, last2: IO.ROPE] RETURNS[Basics.Comparison];
FindMember:
PROC[league: League, last, first:
IO.
ROPE ←
NIL]
RETURNS[member: Member];
FindMemberName:
PROC[league: League, name:
IO.
ROPE ←
NIL]
RETURNS[member: Member];
AddMember: PROC[league: League, member: Member];
Update: PROC[league: League];
DeleteMember: PROC[league: League, member: Member];
WriteLeagueFiles: PROC[league: League, log: IO.STREAM ← IO.noWhereStream];
END.