Dictionary1.cr
Copyright Ó 1986, 1990 by Xerox Corporation. All rights reserved.
Jack Kent July 21, 1987 4:38:58 pm PDT
Bill Jackson (bj) March 7, 1990 0:55:21 am PST
Dictionary: PROGRAM 1313 VERSION 1 = BEGIN
Primitive Types
Atom: TYPE = STRING;
SExpr: TYPE = STRING;
Alternates: TYPE = Atom;
Dictionary: TYPE = Atom;
Form: TYPE = Atom;
Language: TYPE = Atom;
Analyses: TYPE = SExpr;
Paragraph: TYPE = STRING;
UnparsedClasses: TYPE = STRING;
User: TYPE = STRING;
Word: TYPE = STRING;
MinKeyWords: TYPE = INTEGER;
MinWord: TYPE = INTEGER;
MaxWord: TYPE = INTEGER;
WordNumber: TYPE = LONG INTEGER;
Sequence Types
Codes: TYPE = SEQUENCE OF Atom;
Words: TYPE = SEQUENCE OF Word;
Looks: TYPE = SEQUENCE OF Looks2;
Looks2: TYPE = SEQUENCE OF Atom;
SynonymClasses: TYPE = SEQUENCE OF SynonymClass;
SynonymClass: TYPE = SEQUENCE OF Word;
DictionariesAvailable: TYPE = SEQUENCE OF Dictionary;
Languages: TYPE = SEQUENCE OF Language;
Integers: TYPE = SEQUENCE OF LONG INTEGER;
Record Types
Conjugations: TYPE = SEQUENCE OF Conjugation;
Conjugation: TYPE = RECORD [
partsOfSpeech: Atom,
definition: STRING,
status: Atom
];
RawDefinition: TYPE = SEQUENCE OF Component;
Component: TYPE = RECORD [
type: Atom,
text: STRING,
defaultFont: STRING,
runs: Runs
];
Definition: TYPE = RECORD [
definition: STRING,
runs: Runs
];
Runs: TYPE = SEQUENCE OF Run;
Run: TYPE = RECORD [
start: INTEGER,
length: INTEGER,
font: Atom
];
Selection: TYPE = RECORD [
start: INTEGER,
length: INTEGER
];
IntersectionResults: TYPE = SEQUENCE OF IntersectionResult;
IntersectionResult: TYPE = RECORD [
keys: Words,
results: Words
];
RawIntersectionResults: TYPE = SEQUENCE OF RawIntersectionResult;
RawIntersectionResult: TYPE = RECORD [
keys: Words,
results: Integers
];
Remote Errors
RemoteError: ERROR [ string: STRING ] = 1;
UseCourier: ERROR = 2;
Remote Procedures
GetLanguages: PROCEDURE [ user: User ]
RETURNS [ languages: Languages ]
REPORTS [ RemoteError ] = 1;
Analyze: PROCEDURE [ word: Word, language: Language ]
RETURNS [ analyses: Analyses ]
REPORTS [ RemoteError ] = 2;
ConvertWordNumber: PROCEDURE [ wordNumber: WordNumber, language: Language ]
RETURNS [ word: Word ]
REPORTS [ RemoteError ] = 3;
ProofRead: PROCEDURE [ paragraph: Paragraph, language: Language ]
RETURNS [ selection: Selection ]
REPORTS [ RemoteError ] = 4;
Corrections: PROCEDURE [ word: Word, language: Language ]
RETURNS [ words: Words ]
REPORTS [ RemoteError ] = 5;
Status: PROCEDURE [ ]
RETURNS [ string: STRING ]
REPORTS [ RemoteError ] = 6;
CountWords: PROCEDURE [paragraph: Paragraph, language: Language ]
RETURNS [ longInteger: LONG INTEGER ]
REPORTS [ RemoteError ] = 7;
Conjugate: PROCEDURE [word: Word, form: Form, alternates: Alternates, language: Language ]
RETURNS [ conjugations: Conjugations ]
REPORTS [ RemoteError ] = 8;
Dictionaries: PROCEDURE [ user: User ]
RETURNS [ dictionariesAvailable : DictionariesAvailable ]
REPORTS [ RemoteError ] = 10;
GetDefinition : PROCEDURE [ word: Word, dictionary: Dictionary ]
RETURNS [ definition: Definition ]
REPORTS [ RemoteError ] = 11;
Pronunciation: PROCEDURE [ word: Word, dictionary: Dictionary ]
RETURNS [ string: STRING ]
REPORTS [ RemoteError ] = 12;
GetLooks: PROCEDURE [ dictionary: Dictionary ]
RETURNS [ looks: Looks ]
REPORTS [ RemoteError ] = 13;
Enumerate: PROCEDURE [ wordNumber: WordNumber, dictionary: Dictionary ]
RETURNS [ definitions: Definition ]
REPORTS [ RemoteError ] = 14;
EnumerateRaw: PROCEDURE [ wordNumber: WordNumber, codes: Codes, dictionary: Dictionary ]
RETURNS [ rawDefinition: RawDefinition ]
REPORTS [ RemoteError ] = 15;
SearchForWord: PROCEDURE [ unparsedClasses: UnparsedClasses, minKeyWords: MinKeyWords, minWord: MinWord, maxWord: MaxWord, dictionary: Dictionary ]
RETURNS [ intersectionResults: IntersectionResults ]
REPORTS [ RemoteError ] = 16;
Synonyms: PROCEDURE [ word: Word, dictionary: Dictionary ]
RETURNS [ synonymClasses: SynonymClasses ]
REPORTS [ RemoteError ] = 17;
NewSearchForWord: PROCEDURE [ synonymClasses: SynonymClasses, minKeyWords: MinKeyWords, minWord: MinWord, maxWord: MaxWord, dictionary: Dictionary ]
RETURNS [ intersectionResults: IntersectionResults ]
REPORTS [ RemoteError ] = 18;
RawSearchForWord: PROCEDURE [ synonymClasses: SynonymClasses, minKeyWords: MinKeyWords, minWord: MinWord, maxWord: MaxWord, dictionary: Dictionary ]
RETURNS [ rawIntersectionResults: RawIntersectionResults ]
REPORTS [ RemoteError ] = 19;
END.