DictionaryP1313V1AuxImpl.Mesa
Copyright Ó 1989 b, 1992y Xerox Corporation. All rights reserved.
Generated by BJackson.pa at March 7, 1990 0:56:19 am PST
using Sirocco [2.0] of February 10, 1989 6:26:26 pm PST
DIRECTORY
Convert,
Rope,
DictionaryP1313V1,
DictionaryP1313V1Aux;
DictionaryP1313V1AuxImpl: CEDAR PROGRAM
IMPORTS Convert, Rope
EXPORTS DictionaryP1313V1Aux ~ {
OPEN DictionaryP1313V1, DictionaryP1313V1Aux;
ROPE: TYPE ~ Rope.ROPE;
ExposeDictionariesAvailable: PUBLIC PROC [arg: DictionariesAvailable, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, arg.body[i]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeRawDefinition: PUBLIC PROC [arg: RawDefinition, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, ExposeComponent[arg.body[i], (level+1)]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeLooks: PUBLIC PROC [arg: Looks, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, ExposeLooks2[arg.body[i], (level+1)]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeSynonymClass: PUBLIC PROC [arg: SynonymClass, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, arg.body[i]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeComponent: PUBLIC PROC [arg: Component, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
res ¬ Rope.Cat[res, "type~", arg.type, ", "];
res ¬ Rope.Cat[res, "text~", arg.text, ", "];
res ¬ Rope.Cat[res, "defaultFont~", arg.defaultFont, ", "];
res ¬ Rope.Cat[res, "runs~", ExposeRuns[arg.runs, (level+1)], "]"];
};
ExposeRawIntersectionResults: PUBLIC PROC [arg: RawIntersectionResults, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, ExposeRawIntersectionResult[arg.body[i], (level+1)]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeLooks2: PUBLIC PROC [arg: Looks2, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, arg.body[i]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeLanguages: PUBLIC PROC [arg: Languages, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, arg.body[i]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeConjugations: PUBLIC PROC [arg: Conjugations, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, ExposeConjugation[arg.body[i], (level+1)]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeCodes: PUBLIC PROC [arg: Codes, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, arg.body[i]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeSynonymClasses: PUBLIC PROC [arg: SynonymClasses, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, ExposeSynonymClass[arg.body[i], (level+1)]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeRuns: PUBLIC PROC [arg: Runs, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, ExposeRun[arg.body[i], (level+1)]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeIntersectionResult: PUBLIC PROC [arg: IntersectionResult, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
res ¬ Rope.Cat[res, "keys~", ExposeWords[arg.keys, (level+1)], ", "];
res ¬ Rope.Cat[res, "results~", ExposeWords[arg.results, (level+1)], "]"];
};
ExposeRawIntersectionResult: PUBLIC PROC [arg: RawIntersectionResult, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
res ¬ Rope.Cat[res, "keys~", ExposeWords[arg.keys, (level+1)], ", "];
res ¬ Rope.Cat[res, "results~", ExposeIntegers[arg.results, (level+1)], "]"];
};
ExposeIntersectionResults: PUBLIC PROC [arg: IntersectionResults, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, ExposeIntersectionResult[arg.body[i], (level+1)]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeConjugation: PUBLIC PROC [arg: Conjugation, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
res ¬ Rope.Cat[res, "partsOfSpeech~", arg.partsOfSpeech, ", "];
res ¬ Rope.Cat[res, "definition~", arg.definition, ", "];
res ¬ Rope.Cat[res, "status~", arg.status, "]"];
};
ExposeWords: PUBLIC PROC [arg: Words, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, arg.body[i]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeSelection: PUBLIC PROC [arg: Selection, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
res ¬ Rope.Cat[res, "start~", Convert.RopeFromInt[arg.start], ", "];
res ¬ Rope.Cat[res, "length~", Convert.RopeFromInt[arg.length], "]"];
};
ExposeRun: PUBLIC PROC [arg: Run, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
res ¬ Rope.Cat[res, "start~", Convert.RopeFromInt[arg.start], ", "];
res ¬ Rope.Cat[res, "length~", Convert.RopeFromInt[arg.length], ", "];
res ¬ Rope.Cat[res, "font~", arg.font, "]"];
};
ExposeIntegers: PUBLIC PROC [arg: Integers, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
FOR i: CARDINAL IN [0..arg.length) DO
res ¬ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, Convert.RopeFromInt[arg.body[i]]];
ENDLOOP;
res ¬ Rope.Concat[res, "]"];
};
ExposeDefinition: PUBLIC PROC [arg: Definition, level: NAT] RETURNS [res: ROPE] ~ {
res ¬ "[";
res ¬ Rope.Cat[res, "definition~", arg.definition, ", "];
res ¬ Rope.Cat[res, "runs~", ExposeRuns[arg.runs, (level+1)], "]"];
};
}...