Dictionary.mesa
Copyright Ó 1986, 1990, 1992 by Xerox Corporation. All rights reserved.
Jack Kent August 6, 1987 12:07:24 pm PDT
Bill Jackson (bj) March 7, 1990 0:03:44 am PST
DIRECTORY
Rope USING [ROPE];
The American Heritage Dictionary "Service"
Dictionary: CEDAR DEFINITIONS ~ {
OPEN Rope;
Server
dictServer: READONLY ROPE;
Errors
Problem: TYPE ~ {
courier, -- some problem with communication
service, -- dictionaryServer (totally) unable to complete request
unknown -- unexpected transport error, and catchall
};
Error: ERROR [problem: Problem, explanation: ROPE];
Primitive types
SExpr: TYPE ~ ROPE;
Alternates: TYPE ~ ATOM;
Dictionary: TYPE ~ ATOM;
Form: TYPE ~ ATOM;
Language: TYPE ~ ATOM;
Analyses: TYPE ~ SExpr;
Paragraph: TYPE ~ ROPE;
UnparsedClasses: TYPE ~ ROPE;
User: TYPE ~ ROPE;
Word: TYPE ~ ROPE;
MinKeyWords: TYPE ~ INTEGER;
MinWord: TYPE ~ INTEGER;
MaxWord: TYPE ~ INTEGER;
WordNumber: TYPE ~ INT32;
List types
CodesList: TYPE ~ LIST OF ATOM;
WordsList: TYPE ~ LIST OF ROPE;
LooksList: TYPE ~ LIST OF Looks2List;
Looks2List: TYPE ~ LIST OF ATOM;
SynonymClassesList: TYPE ~ LIST OF SynonymClassList;
SynonymClassList: TYPE ~ LIST OF ROPE;
DictionariesList: TYPE ~ LIST OF Dictionary;
LanguagesList: TYPE ~ LIST OF Language;
IntegersList: TYPE ~ LIST OF INT32;
Record types
ConjugationsList: TYPE ~ LIST OF ConjugationPointer;
ConjugationPointer: TYPE ~ REF ExternalConjugationObject;
ExternalConjugationObject: TYPE ~ RECORD [
partOfSpeech: ATOM,
definition: ROPE,
status: ATOM
];
WordPosition: TYPE ~ WordPositionPointer;
WordPositionPointer: TYPE ~ REF ExternalWordPositionObject;
ExternalWordPositionObject: TYPE ~ RECORD [
start: INTEGER,
length: INTEGER
];
Definition: TYPE ~ DefinitionPointer;
DefinitionPointer: TYPE ~ REF ExternalDefinitionObject;
ExternalDefinitionObject: TYPE ~ RECORD [
definition: Rope.ROPE,
looks: RunList
];
RawIntersectionResultsList: TYPE ~ LIST OF RawIntersectionResultsPointer;
RawIntersectionResultsPointer: TYPE ~ REF ExternalRawIntersectionResultsObject;
ExternalRawIntersectionResultsObject: TYPE ~ RECORD [
keys: WordsList,
results: IntegersList
];
IntersectionResultsList: TYPE ~ LIST OF IntersectionResultsPointer;
IntersectionResultsPointer: TYPE ~ REF ExternalIntersectionResultsObject;
ExternalIntersectionResultsObject: TYPE ~ RECORD [
keys: WordsList,
results: WordsList
];
RawDefinitionList: TYPE ~ LIST OF ComponentPointer;
ComponentPointer: TYPE ~ REF ExternalComponentObject;
ExternalComponentObject: TYPE ~ RECORD [
type: ATOM,
text: ROPE,
defaultFont: ATOM,
runs: RunList
];
RunList: TYPE ~ LIST OF RunPointer;
RunPointer: TYPE ~ REF ExternalRunObject;
ExternalRunObject: TYPE ~ RECORD [
start: INTEGER,
length: INTEGER,
font: ATOM
];
SynonymPointer: TYPE ~ REF ExternalSynonymObject;
ExternalSynonymHandle: TYPE ~ REF ExternalSynonymObject;
ExternalSynonymObject: TYPE ~ RECORD [
synonymList: SynonymClassesList,
externalSynonymSeqHandle: ExternalSynonymSeqHandle
];
ExternalSynonymSeqHandle: TYPE ~ REF ExternalSynonymSeqObject;
ExternalSynonymSeqObject: TYPE;
Operations
Languages: PROC [ user: User ]
RETURNS [ languages: LanguagesList ];
Analyze: PROC [ word: Word, language: Language ]
RETURNS [ analyses: Analyses ];
Translate: PROC [ wordNumber: WordNumber, language: Language ]
RETURNS [ word: Word ];
ProofRead: PROC [ paragraph: Paragraph, language: Language ]
RETURNS [ wordPosition: WordPosition ];
Corrections: PROC [ word: Word, language: Language ]
RETURNS [ wordsList: WordsList ];
Status: PROC
RETURNS [ statusInfo: ROPE ];
CountWords: PROC [ paragraph: Paragraph, language: Language ]
RETURNS [ wordCount: LONG INTEGER ];
Conjugate: PROC [ word: Word, form: Form, alternates: Alternates, language: Language ]
RETURNS [ conjugationsList: ConjugationsList];
Dictionaries: PROC [ user: User ]
RETURNS [ dictionariesList: DictionariesList ];
GetDefinition: PROC [ word: Word, dictionary: Dictionary ]
RETURNS [definition: Definition];
Pronunciation: PROC [ word: Word, dictionary: Dictionary ]
RETURNS [ wordPronounced: ROPE ];
GetLooks: PROC [ dictName: Dictionary ]
RETURNS [ looksList: LooksList];
Enumerate: PROC [ wordNumber: WordNumber, dictionary: Dictionary ]
RETURNS [definitionList: Definition];
EnumerateRaw: PROC [ wordNumber: WordNumber, codes: CodesList, dictionary: Dictionary ]
RETURNS [ rawDefinitionList: RawDefinitionList];
Synonyms: PROC [ word: Word, dictionary: Dictionary ]
RETURNS [ externalSynonymHandle: ExternalSynonymHandle];
SearchForWord: PROC [ unparsedClasses: UnparsedClasses, minKeyWords: MinKeyWords, minWord: MinWord, maxWord: MaxWord, dictionary: Dictionary ]
RETURNS [ intersectionResultsList: IntersectionResultsList];
NewSearchForWord: PROC [ externalSynonymHandle: ExternalSynonymHandle, minKeyWords: MinKeyWords, minWord: MinWord, maxWord: MaxWord, dictionary: Dictionary ] RETURNS [ intersectionResultsList: IntersectionResultsList];
RawSearchForWord: PROC [ externalSynonymHandle: ExternalSynonymHandle, minKeyWords: MinKeyWords, minWord: MinWord, maxWord: MaxWord, dictionary: Dictionary ] RETURNS [ rawIntersectionResultsList: RawIntersectionResultsList];
}.