(FILECREATED " 5-Nov-86 16:38:57" ("compiled on " {DSK}NCPATHPARSE.;4) "12-Nov-85 14:59:23" recompiled changes: NCPathParse.Path NCPathParse.PathStepDescriptor NCPathParse.FunctionalPathDescription NCPathParse.CheckAndComputeFlag in "NoteCards 1.3k 31-Oct-86...." dated "11-May-86 15:19:08") (FILECREATED " 5-Nov-86 16:38:38" {DSK}NCPATHPARSE.;4 17594 changes to: (FNS NCPathParse.CheckAndComputeFlag NCPathParse.Path NCPathParse.PathStepDescriptor NCPathParse.FunctionalPathDescription) previous date: " 4-Nov-86 15:35:45" {DSK}NCPATHPARSE.;3) NCPathParse D1 (P 0 FirstState I 2 DepthLimit I 1 NoteFile I 0 Expression) 7A ²)@A H´`dH¿dH¿Bµj¹dIÌ¿Ao (64Q NCP.ReportError 15Q NCPathParse.CoalesceStates 12Q NCPathParse.Path 3 NCP.OpenNoteFileP) (26Q NCPathFSMTYPE#) ( 61Q " is not an open notefile.") NCPathParse.Path D1 (P 4 Item I 1 NoteFile I 0 Expression) b@d²BA µ<@d›AHµ2Iµ-@ kô—@A µ@ lô´@@A d£d‘h \A d²Ê»Jµ KhZ¹HX°¸K&º°ø(112Q NCPathParse.Path 103Q NCPathParse.RepeaterExpression 71Q NCPathParse.Path 53Q LENGTH 45Q NCPathParse.Path 34Q LENGTH 7 NCPathParse.PathStep) NIL () NCPathParse.PathStep D1 (I 1 NoteFile I 0 Expression) @d²A µ@o ´@A (31Q NCPathParse.PathStepOperation 22Q MEMBER 7 NCPathParse.PathStepDescriptor) NIL ( 17Q (OR AND NOT)) NCPathParse.PathStepDescriptor D1 (I 1 NoteFile I 0 Expression) ;@µhA µû@ µõ@dgðœ¿gidd µâ@ ´Ü@d ô³Ó@ b°É(65Q EVAL 56Q EVAL 47Q BOUNDP 41Q NCPathParse.CreateFSMNode 16Q NCPathParse.FunctionalPathDescription 10Q NCPathParse.LiteralPathDescription) (33Q TRUE 25Q ANY) () NCPathParse.LiteralPathDescription D1 (I 1 NoteFile I 0 Expression) ‡@A —@id µy@kd gð²@lmÿ ž@lmÿ hi µR@kd gð²@lmÿ A @lmÿ i µ+@kl o ´@lmÿ ´@lmÿ i (204Q NCPathParse.CreateFSMNode 200Q SUBATOM 166Q NCP.ValidCardType 163Q SUBATOM 151Q MEMBER 142Q SUBATOM 131Q NCPathParse.CreateFSMNode 125Q SUBATOM 114Q NCP.ValidLinkLabel 110Q SUBATOM 72Q SUBATOM 62Q NCPathParse.CreateFSMNode 55Q SUBATOM 44Q NCP.ValidCardType 41Q SUBATOM 23Q SUBATOM 13Q NCPathParse.CreateFSMNode 4 NCP.ValidLinkLabel) (75Q _ 26Q @) ( 146Q (_@ @_)) NCPathParse.FunctionalPathDescription D1 (I 0 Expression) ²@kd gð²#@lmÿ ²@lmÿ idd µ‚±†@kl o ²@lmÿ Ÿ@lmÿ hid µY@kl o ²@lmÿ Ÿ@lmÿ hid µ-@kl o ´@lmÿ ´@lmÿ hid (257Q NCPathParse.CreateFSMNode 251Q SUBATOM 237Q NCPathParse.FunctionP 234Q SUBATOM 222Q MEMBER 213Q SUBATOM 202Q NCPathParse.CreateFSMNode 174Q SUBATOM 163Q NCPathParse.FunctionP 160Q SUBATOM 146Q MEMBER 137Q SUBATOM 126Q NCPathParse.CreateFSMNode 120Q SUBATOM 107Q NCPathParse.FunctionP 104Q SUBATOM 72Q MEMBER 63Q SUBATOM 46Q NCPathParse.CreateFSMNode 40Q SUBATOM 26Q NCPathParse.FunctionP 23Q SUBATOM 5 SUBATOM) (10Q #) ( 217Q (_#@ _@# @_# @#_ #@_ #_@) 143Q (_# #_) 67Q (@# #@)) NCPathParse.CreateFSMNode D1 (I 3 FunctionFlag I 2 DirectionFlag I 1 Link/CardFlag I 0 Item) G`C‘@„@A HdI¿dA‘k€jHIÏ¿I¿dB‘k€jHIÏ¿I¿dkÌ¿dh¿(14Q NCPathParse.CreatePredicateForm) (2 NCPathFSMNodeTYPE#) () NCPathParse.CreatePredicateForm D1 (L (1 Link/CardFLAG 0 Type)) )gogA“g‚gog@hhhNIL (32Q QUOTE 22Q NCP.CardType 16Q NCP.LinkType 11Q EQUAL 2 LAMBDA) ( 26Q (Item) 6 (Item)) NCPathParse.RepeaterExpression D1 (I 1 LoopSteps I 0 RepeaterExpression) @A µ@A µo@ d£i (33Q BREAK1 25Q NCP.ReportError 13Q NCPathParse.LimitedRepeaterToken 4 NCPathParse.RepeaterToken) NIL ( 21Q " Repeater Expression mucked up ") NCPathParse.RepeaterToken D1 (I 1 LoopSteps I 0 RepeaterExpression) @dgð—¿Ajd gð´Akj (32Q NCPathParse.CreateLoop 15Q NCPathParse.CreateLoop) (21Q + 4 *) () NCPathParse.LimitedRepeaterToken D1 (I 1 LoopSteps I 0 RepeaterExpression) &@Akg µ@Ajg µo@ d£i (43Q BREAK1 35Q NCP.ReportError 23Q NCPathParse.LoopDecision 10Q NCPathParse.LoopDecision) (20Q * 5 +) ( 31Q " Repeater Expression mucked up ") NCPathParse.LoopDecision D1 (I 3 Symbol I 2 MinimumRepeat I 1 LoopSteps I 0 Expression) 4C@kd ô²ABµj@lmÿ 3µ o@ @3´Ak@ (61Q NCPathParse.CreateLoop 45Q NCPathParse.CreateLoop 42Q NCP.ReportError 26Q SUBATOM 6 SUBATOM) NIL ( 36Q " Repeater Expression mucked up ") NCPathParse.CreateLoop D1 (L (2 MaxTimes 1 MinTimes 0 LoopSteps)) gAB@hNIL (2 PARSE.DO.REPEAT) () NCPathParse.PathStepOperation D1 (P 4 Step I 1 NoteFile I 0 Expression) V@AHµI@dgð²$¿g°9\A d²é»Jµ KhZ¹HX°×K&º°ødgð”¿ggð“g†o (123Q NCPathParse.CombinationExpressions 120Q NCP.ReportError 37Q NCPathParse.PathStep) (110Q NAND 103Q NOT 77Q OR 71Q OR 27Q AND 20Q AND) ( 115Q " Operator not AND, OR, or NOT in NCPathParse.PathStepOperation. ") NCPathParse.FunctionP D1 (I 0 Function) @ ´@ kô´@ hð(21Q NLAMBDAFNP 11Q NARGS 3 \DEFINEDP) NIL () NCPathParse.CheckAndComputeFlag D1 (P 3 Step I 1 FlagName I 0 StepList) Wg@@°%d»ggAho ¸IµHhZH&¹µÜJ ²ggAho o@ g(121Q NCP.ReportError 110Q EVAL 63Q APPLY 36Q EVAL) (124Q ERROR 73Q NCPathFSMNode 70Q fetch 21Q NCPathFSMNode 16Q fetch 2 LOGICAL.EQUAL) ( 115Q " Flags don't all match " 103Q (of (CAR StepList)) 31Q (of Step)) NCPathParse.CombinePredicates D1 (L (1 Operation 0 StepList)) 4goA0@°dÉgh¸IµHhZH&¹µåJhNIL (27Q Item 22Q NCPathFSMNode 2 LAMBDA) ( 6 (Item)) NCPathParse.CombinationExpressions D1 (P 1 DirectionFlag P 0 Card/LinkFlag I 1 Operation I 0 StepList) R@µhg @g Hgð³éIgð³â`@A ºdJ¿dH‘k€jÏ¿dI‘k€jÏ¿dkÌ¿dh¿(53Q NCPathParse.CombinePredicates 21Q NCPathParse.CheckAndComputeFlag 12Q NCPathParse.CheckAndComputeFlag) (45Q NCPathFSMNodeTYPE# 37Q ERROR 30Q ERROR 16Q Direction 7 Card/Link) () NCPathParse.CoalesceStates D1 (P 1 Expression P 0 Rest I 0 NodeList) £@d¢±ž gð‘@@ gðž@@ @@d²dgð²d¤d´hh@ ´T@gð´K@ @IZjð¨J—J ’HµId£d‘hHI Id£d‘hHI h(235Q NCPathParse.CoalesceRepeaterStates 210Q NCPathParse.CoalesceRepeaterStates 160Q \FZEROP 134Q NCPathParse.CoalesceStates 111Q NCPathParse.CoalesceRepeaterStates 43Q NCPathParse.CoalesceStates 24Q TYPENAME 10Q TYPENAME) (124Q PARSE.DO.REPEAT 62Q PARSE.DO.REPEAT 36Q NCPathFSMNode 27Q NCPathFSMNode 13Q NCPathFSMNode) () NCPathParse.CoalesceRepeaterStates D1 (P 1 LastNode P 0 FirstNode I 2 Limit I 1 Next I 0 LoopList) +@@ @ HBµjÌIAHIÉH(15Q NCPathParse.CoalesceStates 5 LAST) (41Q NCPathFSMNode 33Q NCPathFSMNode 21Q NCPathFSMNode) () NAND D1 (I 0 Args) g@ hð(6 APPLY) (2 AND) () LOGICAL.EQUAL D1 (L (0 ARGS)) 6eHkJdIó²¿iµ HkJdIóœia¢h°îJkÔZ°áa‘hJkÔZ°çNIL NIL () (PRETTYCOMPRINT NCPATHPARSECOMS) (RPAQQ NCPATHPARSECOMS ((* * This file is intended to be the genesis/testbed for ideas about parsing the user language for a path-specification faclility into an NCPathFSM for the functions of NCPath to use. The first list of functions are the current ones in use. Right now, the system only parses linear specifications.) (FNS NCPathParse NCPathParse.Path NCPathParse.PathStep NCPathParse.PathStepDescriptor NCPathParse.LiteralPathDescription NCPathParse.FunctionalPathDescription NCPathParse.CreateFSMNode NCPathParse.CreatePredicateForm NCPathParse.RepeaterExpression NCPathParse.RepeaterToken NCPathParse.LimitedRepeaterToken NCPathParse.LoopDecision NCPathParse.CreateLoop NCPathParse.PathStepOperation) (FNS NCPathParse.FunctionP NCPathParse.CheckAndComputeFlag NCPathParse.CombinePredicates) (FNS NCPathParse.CombinationExpressions) (FNS NCPathParse.CoalesceStates NCPathParse.CoalesceRepeaterStates ) (* * The following functions are utilities from other sources) (FNS NAND LOGICAL.EQUAL) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA NAND) (NLAML) (LAMA LOGICAL.EQUAL)) ))) (PUTPROPS NCPATHPARSE COPYRIGHT ("Xerox Corporation" 1986)) NIL