SB.mesa
Last Edited by Curry, April 23, 1986 4:55:06 pm PST
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.STREAMIO.noWhereStream]
RETURNS[league: League];
CompareNames:   PROC[first1, last1, first2, last2: IO.ROPE] RETURNS[Basics.Comparison];
FindMember:   PROC[league: League, last, first: IO.ROPENIL]
RETURNS[member: Member];
FindMemberName: PROC[league: League, name: IO.ROPENIL]
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.STREAMIO.noWhereStream];
END.