PeanutParse.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Doug Wyatt, March 7, 1985 11:25:02 am PST
DIRECTORY
Rope USING [ROPE];
PeanutParse: CEDAR DEFINITIONS
= BEGIN
ROPE: TYPE = Rope.ROPE;
Name: TYPE = REF NameRecord;
NameRecord:
TYPE =
RECORD [simpleName, registry, arpaHost:
ROPE←
NIL];
Qualification: TYPE = {unqualified, dotQualified, arpaQualified};
MessageFieldIndex:
TYPE = {replyToF, senderF, fromF, toF, ccF, cF, bccF, dateF, subjectF, categoriesF, inReplyToF, voiceF};
-- order is significant
MessageFType: TYPE = {simpleRope, rCatList, rNameList};
MessageInfo: TYPE = RECORD[name: ROPE, fType: MessageFType];
messageParseArray: ARRAY MessageFieldIndex OF MessageInfo;
ParseStatus: TYPE = {ok, syntaxError};
CanonicalName:
PROC[simpleName, registry:
ROPE]
RETURNS[name:
ROPE];
END.