(FILECREATED " 3-Jun-88 17:05:01" ("compiled on " {QV}TOOLS>ANALYZER.;119) "12-Nov-85 14:59:23" recompiled changes: AnalyzerForStream TEdit.SetAnalyzer in "INTERLISP-D 31-May-88 ..." dated "31-May-88 19:19:06") (FILECREATED " 3-Jun-88 17:03:38" {QV}TOOLS>ANALYZER.;119 62229 changes to: (VARS ANALYZERCOMS Analyzer.DefaultStream) (FNS AnalyzerForStream TEdit.SetAnalyzer) previous date: " 4-Feb-88 08:58:45" {QV}TOOLS>ANALYZER.;117) AnalyzerFromName D1 (P 2 i P 0 analyzer I 1 remoteName I 0 dictName) /0@``YH@JAJg JI(45Q Analyzer.Prop) (42Q RemoteDict 31Q Morphalyzer 14Q Analyzer.List 7 Analyzer.List) () Analyzer.CountWordsA0002 D1 (L (4 entries 3 length 2 start 1 stream 0 analyzer) F 0 n) PkchNIL NIL () Analyzer.CountWords D1 (P 1 FN P 0 n I 3 length I 2 start I 1 stream I 0 analyzer) -j@g I@ABClI@@ABCglJH(7 Analyzer.Prop) (44Q Analyzer.CountWordsA0002 32Q Morphalyzer 4 CountWords) () Analyzer.DefaultCorrections D1 (P 32Q c P 30Q temp P 27Q tail P 23Q i P 5 periods P 4 caps P 3 wordList P 2 word P 1 form P 0 userDict I 3 length I 2 start I 1 stream I 0 analyzer) @g  A O0O4 O.O4@_@JhdlOH O4k_4J J KL'O0 l__lAOOlZLgSO.JMlzlaO4O2>O0O4 O.O4@_ @JhdlO H O4k_4J J KM O.l.@_"@JhdlO"HO.O0O.J J KdO&O& O&dK(2210Q STREQUAL 2165Q CONCATCODES 2157Q SimpleDict.Lookup 2070Q CONCATCODES 2062Q SimpleDict.Lookup 1723Q CHCON1 1705Q CONCATCODES 1677Q SimpleDict.Lookup 1542Q CONCATCODES 1534Q SimpleDict.Lookup 1523Q SORT 1414Q CONCATCODES 1406Q SimpleDict.Lookup 1305Q CONCATCODES 1277Q SimpleDict.Lookup 1144Q CONCATCODES 1136Q SimpleDict.Lookup 1037Q CONCATCODES 1031Q SimpleDict.Lookup 727Q CONCATCODES 721Q SimpleDict.Lookup 631Q CONCATCODES 623Q SimpleDict.Lookup 501Q CONCATCODES 472Q SimpleDict.Lookup 125Q NCHARS 27Q SETFILEPTR 20Q STREAMP 6 Analyzer.Prop) (2113Q Morphalyzer 2022Q Morphalyzer 1752Q FIRST 1637Q Morphalyzer 1566Q FIRST 1557Q ALL 1440Q Morphalyzer 1346Q Morphalyzer 1237Q Morphalyzer 1203Q ALL 1076Q Morphalyzer 771Q Morphalyzer 737Q ALL 655Q Morphalyzer 552Q Morphalyzer 534Q FIRST 454Q FIRST 371Q Morphalyzer 325Q FIRST 321Q ALL 3 UserDict) () Analyzer.DefaultNextWord D1 (P 11Q quote P 10Q value P 7 start P 6 length P 5 word P 4 endPtr P 3 end P 2 char P 1 EOFPtr P 0 filePtr I 4 NWFn I 3 searchLength I 2 startPtr I 1 stream I 0 analyzer) ABjb A A  CBC؀I\IIA LA Z5OtA [OپJNmԾD@AONlD_DOdi=ON3lJJlJl__llAOOlZOA kيOAK h_Jzh(240Q SETFILEPTR 224Q GETFILEPTR 67Q GETFILEPTR 45Q GETFILEPTR 21Q GETEOFPTR 15Q GETFILEPTR 11Q SETFILEPTR) NIL () Analyzer.Name D1 (I 0 analyzer) )@g @o@g @(37Q MKATOM 34Q CONCAT 31Q Analyzer.Prop 6 Analyzer.Prop) (44Q Morphalyzer 26Q RemoteDict 14Q Morphalyzer 3 RemoteDict) ( 22Q ": ") Analyzer.DefaultAddEntry D1 (P 0 userDict I 4 errorStream I 3 dontRecord I 2 entry I 1 lemma I 0 analyzer) 8@g H@gH HHABhlIC@gA A(64Q Analyzer.PushProp 30Q Analyzer.Prop 17Q SimpleDict.New 6 Analyzer.Prop) (60Q WordList 35Q Dict 24Q UserDict 3 UserDict) () Analyzer.DefaultAnalyze D1 (I 4 NWFn I 3 searchLength I 2 startPtr I 1 stream I 0 analyzer) AA bABjb @g @g o@g ldl BCA BC_dOOA Lk\dNhA OMd3lMKLOM+M_Md3)lM!MlMl__llAOOlZMJ.O9OLl_KkO+h_Lk_KLOM+M)OMOO7L8ILO_3l0MMl9OM_hKLOM+LO_h_"_ O ^O _"hO _"O _ O"Ok_@_@KjOlO HdKO _OOk Kk)lsg_DOdgOOOg@AOOOlD_0LOOkOOؼAL ih___Ml'_Mhh(730Q SETFILEPTR 611Q EQP 573Q SimpleDict.Lookup 124Q GETEOFPTR 101Q GETEOFPTR 66Q ALLOCSTRING 57Q Analyzer.Prop 42Q Analyzer.Prop 33Q Analyzer.Prop 24Q SETFILEPTR 7 OPENSTRINGSTREAM) (657Q possessive 641Q possessive 626Q possessive 540Q Morphalyzer 54Q ADD-ALPHA-CHAR-CODES 37Q OPT-SEPR-CODES 30Q UserDict) ( 50Q (47Q 56Q 55Q 57Q)) Analyzer.DefaultProofreadA0002 D1 (L (4 entries 3 length 2 start 1 stream 0 analyzer) F 0 n) PkcDBChNIL NIL () Analyzer.DefaultProofread D1 (P 12Q fn P 10Q word P 5 char P 4 stopTime P 3 startTime P 2 correction P 1 start.length P 0 n I 3 length I 2 begin I 1 stream I 0 analyzer)  jqAoi j [ABjbC&A bABjbCA BbAB CjA ]3A@_@ABCglOYRj \` AoLKoo /l_lANNlZBjBmbCkbAB `fAII ` Od.PgZgJdgrCBIIbIIbVO_hO_O_OkOOiAIkIgi A A Ai `#A@i ZCBIbJ IbIbIAo 6ABCkjg A A Ai AHjoHo i h(670Q TEDIT.PROMPTPRINT 664Q CONCAT 641Q TEDIT.SHOWSEL 633Q TEDIT.NORMALIZECARET 626Q TEDIT.SHOWSEL 621Q TEDIT.SETSEL 602Q TEDIT.PROMPTPRINT 564Q SHOULDNT 542Q NCHARS 514Q TEdit.Correct 476Q TEDIT.SHOWSEL 470Q TEDIT.NORMALIZECARET 463Q TEDIT.SHOWSEL 456Q TEDIT.SETSEL 303Q STREAM.FETCHSTRING 263Q SETFILEPTR 211Q TEDIT.PROMPTPRINT 206Q CONCAT 152Q CLOCK 101Q SETFILEPTR 67Q GETEOFPTR 43Q NCHARS 20Q CLOCK 14Q TEDIT.PROMPTPRINT) (616Q RIGHT 502Q Proofreader.AutoCorrect 451Q RIGHT 337Q *INSERT* 330Q *SKIP* 324Q *SKIP* 306Q Proofreader.UserFns 271Q Proofreader.UserFns 156Q Analyzer.TimeProofreader 135Q Analyzer.DefaultProofreadA0002 121Q Morphalyzer) ( 661Q " words proofread." 653Q "No Errors." 577Q "Error found." 203Q " seconds." 176Q 1000.0 167Q "Elapsed Time: " 10Q "Proofreading . . . ") Analyzer.DefaultLoadWordList D1 (P 2 i P 0 wordList I 1 file I 0 analyzer) 1 A Xdd@@JidhlI@gA h(55Q Analyzer.PushProp 6 Analyzer.ReadWordList) (51Q WordListFile 23Q Morphalyzer) () Analyzer.DefaultStoreWordList D1 (P 0 wordList I 1 file I 0 analyzer) 2@g XA HA XHA @gA @gh h(56Q Analyzer.Prop 46Q Analyzer.PushProp 36Q Analyzer.WriteWordList 27Q \APPEND2 24Q Analyzer.ReadWordList 16Q DIRECTORY 11Q Analyzer.Prop) (52Q WordList 42Q WordListFile 6 WordList) () Analyzer.ReadWordList D1 (P 2 stream P 1 words P 0 firstWord I 0 file) I0@g Zdj J XJj HJ `J` J` IJ I(105Q CLOSEF 74Q RSTRING 64Q SKIPSEPRCODES 51Q CREATEWORDLISTRDTBL 40Q READFILE 31Q SETFILEPTR 23Q READ 17Q SETFILEPTR 11Q OPENSTREAM) (71Q WORDLISTRDTBL 61Q WORDLISTRDTBL 54Q WORDLISTRDTBL 45Q WORDLISTRDTBL 6 INPUT) () Analyzer.WriteWordList D1 (P 1 word P 0 stream I 1 file I 0 wordList) .Ag Xdj @dIH H H h(52Q CLOSEF 41Q TERPRI 34Q PRIN1 17Q SETFILEPTR 11Q OPENSTREAM) (6 OUTPUT) () CREATEWORDLISTRDTBL D1 (P 2 BREAK P 1 SEPR P 0 RDTBL) Og Xd dI gH H dJ gH l gH H(113Q SETSYNTAX 104Q CHARACTER 72Q SETSYNTAX 63Q CHARACTER 50Q GETBRK 37Q SETSYNTAX 30Q CHARACTER 15Q GETSEPR 10Q COPYREADTABLE) (107Q SEPR 66Q OTHER 33Q OTHER 5 ORIG) () Analyzer.Prop D1 (P 3 p P 2 prop P 1 analyzer P 0 a) :e@A"JI[HldKIJBI\LKBNIL (47Q Morphalyzer 40Q Morphalyzer 15Q Morphalyzer) () Analyzer.PushProp D1 (I 2 value I 1 prop I 0 analyzer) <A@!H @ABh@ZBJiIYhHBHBNIL (32Q Morphalyzer 21Q Morphalyzer 4 Morphalyzer) () STREAM.FETCHSTRING D1 (P 2 i P 0 pos I 4 restorePtr I 3 buffer I 2 length I 1 start I 0 stream) ED@ CBC B b@A BkJICJ@ +JkZD@H CkB (102Q SUBSTRING 73Q SETFILEPTR 36Q SETFILEPTR 26Q ALLOCSTRING 20Q NCHARS 10Q GETFILEPTR) NIL () Analyzer.CorruptWord D1 (P 26Q c P 24Q temp P 23Q tail P 17Q i P 3 caps P 2 wordList P 1 word P 0 form I 3 length I 2 start I 1 stream I 0 analyzer) m Ck2OO$A _$O"O$h_"_ Ok_O$&_"O YdLn!IddnplAI4IlZ-I$n!IInplAIIlZggh[I!O$_&O&dIdl@@IhdlMOU_(O&dO&O(KgO&dI@@IhdlLI JO&O&O&O(O&I JI!O$_&O&dgIYKdg4_(O&d@@IhdlNI JO&O(O&g;lZlAO,O**IO,@_@IhdlOI JO,k_,9lzlaO,O**IO,@_@IhdlOI JO,k_,IYddO&gO&Kg=lZlAO,O*,O&O,@_@IhdlOI JO,k_,;lzlaO,O*,O&O,@_@IhdlOI JO,k_,O&djI!O$_& J Zd_(KgKdgIO&IAlZlAO,O*2O&O,O(O,@_@IhdlOI JO,k_,K&O(l__lAOOlZKgLO&dIGlzlaO,O*5O&O,O(O, @_@IhdlOI JO,k_,O&O(O&'dOO OdJ(1533Q STREQUAL 1465Q CONCATCODES 1432Q CHARACTER 1314Q CONCATCODES 1173Q SORT 1120Q CONCATCODES 1025Q CONCATCODES 677Q CONCATCODES 606Q CONCATCODES 507Q CONCATCODES 400Q CONCATCODES 345Q CONCATCODES) (1441Q Morphalyzer 1364Q FIRST 1270Q Morphalyzer 1217Q FIRST 1210Q ALL 1074Q Morphalyzer 1001Q Morphalyzer 745Q ALL 733Q A 653Q Morphalyzer 562Q Morphalyzer 530Q ALL 466Q Morphalyzer 440Q FIRST 430Q A 324Q Morphalyzer 306Q FIRST 237Q Morphalyzer 200Q FIRST 174Q ALL) () Analyzer.Establish D1 (I 0 analyzer) =@6g &`@HZIJJ@i @`J(10Q BOUNDP) (66Q Analyzer.List 62Q Analyzer.List 41Q Morphalyzer 21Q Morphalyzer 15Q Analyzer.List 5 Analyzer.List) () AnalyzerForStream D1 (I 0 stream) $@g `g ` (41Q TEdit.SetAnalyzer 31Q STREAMPROP 20Q OPENTEXTSTREAM 6 STREAMPROP) (36Q Analyzer.DefaultStream 26Q analyzer 23Q Analyzer.DefaultStream 13Q Analyzer.DefaultStream 3 analyzer) () Analyzer.QuitFn D1 (P 0 analyzer I 2 textObj I 1 stream I 0 window) /A Hd$g oAoo A h(53Q TEdit.StoreWordList 45Q STREQUAL 42Q TEDIT.GETINPUT 20Q Analyzer.Prop 3 AnalyzerForStream) (15Q WordList) ( 37Q "yes" 33Q "Do you want to save the word list? " 26Q "yes") Analyzer.BeforeLogoutA0001 D1 (NAME ERRORSET F 0 file F 1 RESETVARSLST F 2 analyzer F 3 RESETY) @oPo i RP oi g hhQcPo ci(72Q DIRECTORY 50Q TTYDISPLAYSTREAM 45Q OPENTEXTSTREAM 36Q PRIN1 25Q Analyzer.DefaultStoreWordList 17Q PRIN1 13Q CONCAT) (42Q TTYDISPLAYSTREAM) ( 67Q (DELVER) 32Q "Deleting old version..." 10Q "..." 3 "Storing word list on ") Analyzer.BeforeLogout D1 (P 5 RESETZ P 4 RESETY P 3 LISPXHIST P 2 file P 1 analyzer F 6 LISPXHIST F 7 RESETVARSLST) }`!HhYg cl goIo gDoIg  Zo(V!Wog hg] Moi HX(165Q PRIN1 153Q ERROR! 145Q RESETRESTORE 133Q Analyzer.BeforeLogoutA0001 103Q PROMPTFORWORD 77Q Analyzer.Prop 56Q ASKUSER 53Q CONCAT 23Q Analyzer.Prop) (141Q ERROR 130Q INTERNAL 74Q WordListFile 61Q Y 42Q Morphalyzer 32Q N 20Q WordList 2 Analyzer.List) ( 161Q "done." 125Q (Analyzer.BeforeLogoutA0001) 111Q "Aborted." 70Q "Store word list on file:" 50Q "? " 36Q "Do you want to save the word list for ") TEdit.ProofreadMenu D1 (P 3 W P 2 analyzer P 1 menu P 0 menuWindow I 0 stream) p@ [dg Xd`ggKoohggKoohggKoohggKoohhdLdi dg dgjdndhdM mdI lI l hdi IH KgH H H HK`gg H @ ZH J@d khdlN(415Q TEDIT.GETPOINT 374Q AnalyzerForStream 367Q OPENW 362Q ATTACHWINDOW 341Q OPENWP 334Q CLOSEW 327Q PUTWINDOWPROP 316Q ADDMENU 310Q CREATEW 302Q CREATEREGION 267Q CHECK/MENU/IMAGE 253Q CHECK/MENU/IMAGE 24Q GETWINDOWUSERPROP 6 TEXTOBJ) (404Q Morphalyzer 356Q LOCALCLOSE 353Q TOP 350Q Proofreader.MenuEdge 323Q Proofreader.Menu 272Q BITMAP 256Q BITMAP 217Q DEFAULTMENUHELDFN 210Q CLRPROMPT 145Q WITH-TEDIT 142Q CountWords 120Q WITH-TEDIT 115Q Insert 73Q WITH-TEDIT 70Q Correct 46Q WITH-TEDIT 43Q Proofread 37Q MENUTYPE# 21Q Proofreader.Menu 11Q TEXTOBJ) ( 160Q "counts the words in the current selection." 152Q ((FUNCTION TEdit.CountWords)) 133Q "inserts the selected word into the analyzer's word list." 125Q ((FUNCTION TEdit.AddEntry)) 106Q "generates a list of possible corrections for the current selection." 100Q ((FUNCTION TEdit.Correct)) 61Q "looks for the next spelling error starting from the caret." 53Q ((FUNCTION TEdit.Proofread))) WITH-TEDITA0001 D1 (NAME ERRORSET F 0 TEXTOBJ F 1 RESETVARSLST F 2 FUNCTION F 3 RESETY) "oP hQcPR>PkRci(7 \TEDIT.MARKACTIVE) (23Q TEXTOBJ) ( 3 (AND (\TEDIT.MARKINACTIVE OLDVALUE))) WITH-TEDIT D1 (P 3 RESETZ P 2 RESETY P 1 LISPXHIST P 0 EDITOP I 1 FUNCTION I 0 TEXTOBJ F 4 LISPXHIST F 5 RESETVARSLST) P@ @ b@>X@Hdioo T!Uog hg[ KJ(113Q ERROR! 106Q RESETRESTORE 74Q WITH-TEDITA0001 54Q TEDIT.PROMPTPRINT 51Q CONCAT 13Q TEXTOBJ 6 WINDOWP) (102Q ERROR 71Q INTERNAL 22Q TEXTOBJ) ( 66Q (WITH-TEDITA0001) 46Q " in progress; please wait." 42Q "Edit operation") TEdit.Correct D1 (P 5 menuWindow P 4 items P 3 length P 2 start P 1 correction P 0 selection I 2 autoCorrect I 1 analyzer I 0 stream) ' @ @g @ b!@d` b g A@ b@oi h@ XdZH J[@o@JkK o i AA@JkKlN\Bdo Lr`dLdi ld_dOdodg dgjdndh_dO Ydg@A gI@ @I @o@o@JkK o i I(443Q TEDIT.PROMPTPRINT 437Q CONCAT 430Q STREAM.FETCHSTRING 403Q TEDIT.INSERT 375Q TEDIT.DELETE 360Q TEdit.AddEntry 343Q MENU 227Q \APPEND2 172Q TEDIT.PROMPTPRINT 166Q CONCAT 157Q STREAM.FETCHSTRING 121Q TEDIT.GETSEL 113Q TEDIT.PROMPTPRINT 77Q AnalyzerForStream 67Q GETWINDOWUSERPROP 53Q TEXTOBJ 44Q TEXTSTREAM 24Q TEXTSTREAM 17Q GETWINDOWUSERPROP 6 WINDOWP) (365Q *SKIP* 350Q *INSERT* 311Q DEFAULTMENUHELDFN 302Q CLRPROMPT 236Q MENUTYPE# 176Q Morphalyzer 135Q SELECTION 126Q SELECTION 64Q Proofreader.Menu 56Q TEXTOBJ 37Q TEXTOBJTYPE# 14Q Proofreader.Menu) ( 434Q "%"." 420Q "No corrections for the word %"" 411Q "" 273Q "corrections" 224Q (*INSERT* *SKIP*) 163Q "%" . . . " 147Q "Looking for corrections for %"" 107Q "No analyzer selected.") TEdit.CountWords D1 (P 1 n P 0 selection I 0 stream) \ @ @d`@ b X@oi @ @HkH H Yd@Ii @Io I(130Q TEDIT.PROMPTPRINT 125Q CONCAT 113Q TEDIT.PROMPTPRINT 100Q Analyzer.CountWords 47Q AnalyzerForStream 43Q TEDIT.PROMPTPRINT 31Q TEDIT.GETSEL 24Q TEXTSTREAM 6 WINDOWP) (72Q SELECTION 64Q SELECTION 54Q SELECTION 15Q TEXTOBJTYPE#) ( 122Q " words counted." 37Q "Counting words in selection . . . ") TEdit.AddEntry D1 (P 0 word I 1 analyzer I 0 stream) _ @ @`@ bA@ b@ XA @oi hAHih@lI@oHoo @o(124Q CONCAT 57Q TEDIT.PROMPTPRINT 42Q TEDIT.SEL.AS.STRING 33Q AnalyzerForStream 22Q TEXTSTREAM 6 WINDOWP) (64Q Morphalyzer 14Q TEXTOBJTYPE#) ( 133Q "Insert not implemented for this analyzer." 121Q " inserted into local word list." 115Q "%"" 110Q "%"" 53Q "No analyzer selected.") TEdit.Proofread D1 (P 2 string P 1 sel P 0 stream I 0 W) k@ AH YHIkI ZoJ &H  H HIkI hlKH  H Hd khdlL(137Q TEDIT.GETPOINT 132Q AnalyzerForStream 120Q AnalyzerForStream 66Q AnalyzerForStream 54Q AnalyzerForStream 46Q STRPOS 35Q STREAM.FETCHSTRING 12Q TEDIT.GETSEL 3 TEXTSTREAM) (123Q Morphalyzer 103Q SELECTION 73Q SELECTION 57Q Morphalyzer 30Q SELECTION 20Q SELECTION) ( 42Q " ") TEdit.SetAnalyzer D1 (P 7 i P 1 menuItems P 0 quitFn I 1 analyzer I 0 stream) n@A@`0d_ gOhOg ohMLh^L&NYLI k`b>`dIdodi dg dgjdndhdJ bA%@g b@oAd o i @oA o i AAkK@gA @ Fg'XgpgHiH0@ F@ Fgg F@ gg2@ F@ FggH @ ggHhF@o A(552Q TEDIT.PROMPTPRINT 521Q TEXTOBJ 513Q LISTPUT 473Q TEXTOBJ 460Q TEXTOBJ 441Q TEXTOBJ 433Q LISTPUT 415Q TEXTOBJ 402Q TEXTOBJ 344Q TEXTOBJ 337Q STREAMPROP 311Q TEDIT.PROMPTPRINT 305Q CONCAT 276Q Analyzer.Name 262Q TEDIT.PROMPTPRINT 256Q CONCAT 247Q Analyzer.Name 231Q STREAMPROP 214Q MENU 111Q LENGTH 46Q Analyzer.Prop 26Q Analyzer.Name) (532Q Analyzer.QuitFn 527Q QUITFN 524Q TEXTOBJ 506Q Analyzer.QuitFn 503Q QUITFN 476Q TEXTOBJ 463Q TEXTOBJ 452Q Analyzer.QuitFn 447Q QUITFN 444Q TEXTOBJ 430Q Analyzer.QuitFn 425Q QUITFN 420Q TEXTOBJ 405Q TEXTOBJ 367Q Analyzer.QuitFn 361Q Analyzer.QuitFn 354Q QUITFN 347Q TEXTOBJ 333Q analyzer 316Q Morphalyzer 226Q analyzer 165Q DEFAULTMENUHELDFN 156Q CLRPROMPT 127Q MENUTYPE# 117Q Analyzer.List 43Q RemoteDict 31Q QUOTE 15Q Analyzer.List) ( 547Q "done." 302Q "..." 272Q "Setting proofreader to " 253Q "." 241Q "Proofreader is " 142Q "analyzers" 54Q "Calls the remote dictionary server") TEdit.LoadWordList D1 (P 1 file P 0 analyzer I 0 stream) L@ H@oi 7@o Y@oi "@oIo i HI @o h(110Q TEDIT.PROMPTPRINT 77Q Analyzer.DefaultLoadWordList 71Q TEDIT.PROMPTPRINT 65Q CONCAT 46Q TEDIT.PROMPTPRINT 33Q TEDIT.GETINPUT 21Q TEDIT.PROMPTPRINT 3 AnalyzerForStream) NIL ( 105Q "done." 62Q "..." 55Q "Reading " 42Q "Aborted." 30Q "Fetch word list on file: " 15Q "Please select a proofreader.") TEdit.StoreWordList D1 (P 1 file P 0 analyzer I 0 stream) @ H @oi ig @oi W@oHg  Y@oi :@oIo i HI `@oi Io @o h(173Q TEDIT.PROMPTPRINT 162Q DIRECTORY 151Q TEDIT.PROMPTPRINT 132Q Analyzer.DefaultStoreWordList 124Q TEDIT.PROMPTPRINT 120Q CONCAT 101Q TEDIT.PROMPTPRINT 66Q TEDIT.GETINPUT 62Q Analyzer.Prop 44Q TEDIT.PROMPTPRINT 32Q Analyzer.Prop 22Q TEDIT.PROMPTPRINT 3 AnalyzerForStream) (136Q Proofreader.AutoDelete 57Q WordListFile 27Q WordList) ( 170Q "done." 157Q ((OLDVERSIONS DELETE) OUT {NULL}) 145Q "Deleting old version..." 115Q "..." 110Q "Storing word list on " 75Q "Aborted." 53Q "Store word list on file: " 40Q "No words to be stored." 16Q "Please select a proofreader.") Analyzer.TEditMenuItems D1 (F 0 TEDIT.DEFAULT.MENU) g Po (17Q TEDIT.ADD.MENUITEM 5 BOUNDP) (2 TEDIT.DEFAULT.MENU) ( 14Q (Proofread (FUNCTION TEdit.ProofreadMenu) "Looks for the next spelling error after the caret." (SUBITEMS (Proofread (FUNCTION TEdit.ProofreadMenu) "Looks for the next spelling error after the caret." (SUBITEMS (SetProofreader (FUNCTION TEdit.SetAnalyzer) "Gives a menu of possible proofreaders to use.") (LoadWordList (FUNCTION TEdit.LoadWordList) "Loads a file of words into the proofreader.") (StoreWordList (FUNCTION TEdit.StoreWordList) "Stores the words added to the proofreader by the user on a remote file.") (AutoCorrect (FUNCTION (LAMBDA (stream) (SETQ Proofreader.AutoCorrect T) (TEDIT.PROMPTPRINT stream "AutoCorrection is ON." T))) "The proofreader automatically generates a menu of corrections for the user.") (ManualCorrect (FUNCTION (LAMBDA (stream) (SETQ Proofreader.AutoCorrect) (TEDIT.PROMPTPRINT stream "AutoCorrection is OFF." T))) "The user must ask for a menu of corrections from the proofreader if he wants one."))) (Correct (FUNCTION TEdit.Correct) "generates a list of possible corrections for the current selection.") (Insert (FUNCTION TEdit.AddEntry) "inserts the selected word into the analyzer's word list.") (CountWords (FUNCTION TEdit.CountWords) "Counts the number of words in the currect selection.")))) DictFromName D1 (P 2 i P 0 dict I 1 remoteName I 0 dictName) e@``Ih`I#H@JAJg JiIY@JAJg Jg XIY(133Q InvertedDict.Prop 122Q InvertedDict.Prop 65Q Dict.Prop) (130Q DICTIONARY 117Q RemoteDict 62Q RemoteDict 51Q Dict 31Q InvertedDict.List 14Q Dict.DictionaryList 7 Dict.DictionaryList) () Dict.Establish D1 (I 0 dict) :g &`@HZIJJ@i @`J(5 BOUNDP) (63Q Dict.DictionaryList 57Q Dict.DictionaryList 36Q Dict 16Q Dict 12Q Dict.DictionaryList 2 Dict.DictionaryList) () Dict.Prop D1 (P 3 p P 2 prop P 1 dict P 0 a) :e@A"JI[HldKIJBI\LKBNIL (47Q Dict 40Q Dict 15Q Dict) () Dict.Name D1 (I 0 dict) )@g @o@g @(37Q MKATOM 34Q CONCAT 31Q Dict.Prop 6 Dict.Prop) (44Q Dict 26Q RemoteDict 14Q Dict 3 RemoteDict) ( 22Q ": ") SimpleDict.New D1 (I 0 name) D`d@dgdgdghdhHdIdgdg dg NIL (76Q NILL 67Q NILL 60Q NILL 32Q SimpleDict.MapEntries 23Q SimpleDict.PutEntry 14Q SimpleDict.Lookup 2 DictTYPE#) () SimpleDict.PutEntry D1 (P 4 char P 3 i P 1 subNode P 0 node I 2 value I 1 entry I 0 dict) @Adl b:A kKJ&AK \HYLhhHIHIKk[HBA$BdLHYLhhHIHIXHB(52Q NTHCHAR 34Q NCHARS 22Q MKSTRING) (3 Dict) () SimpleDict.Lookup D1 (P 2 i P 0 node I 2 length I 1 entry I 0 dict) t@AAdl,BA kJIAJ HXJkZHdAI HdZd3dl HXHXIY(136Q CHARACTER 52Q NTHCHAR 34Q NCHARS) (3 Dict) () SimpleDict.MapEntries D1 (P 0 i I 3 path I 2 node I 1 fn I 0 dict) 8B @b@CBlABd@AHCHh h(57Q SimpleDict.MapEntries 54Q \APPEND2) (6 Dict) () SimpleDict.PrintEntriesA0002 D1 (L (2 value 1 entry 0 dict) F 0 stream F 1 noValues) 'QA P P A P kP BP P (44Q TERPRI 40Q PRIN1 33Q SPACES 26Q PRIN1 22Q CONCATLIST 15Q TERPRI 11Q PRIN1 5 CONCATLIST) NIL () SimpleDict.PrintEntries D1 (I 2 noValues I 1 stream I 0 dict) @@ghdlH@NIL (14Q SimpleDict.PrintEntriesA0002 3 Dict) () SimpleDict.TestA0003 D1 (L (2 value 1 entry 0 dict)) Ai ki Bi i (22Q TERPRI 16Q PRIN1 11Q SPACES 4 PRIN1) NIL () SimpleDict.Test D1 (P 3 i P 0 dict) >g !odHHKdhlIHHghdlJH(5 SimpleDict.New) (63Q SimpleDict.TestA0003 54Q Dict 27Q Dict 2 test) ( 14Q (asdf asd asdfg asde bfdas)) InvertedDictFromName D1 (P 2 i P 0 dict I 1 remoteName I 0 dictName) ,0@``YH@JAJg JI(42Q InvertedDict.Prop) (37Q RemoteDict 14Q InvertedDict.List 7 InvertedDict.List) () InvertedDict.Establish D1 (L (0 dict)) ,`@HZIJJ@i @`JNIL (45Q InvertedDict.List 41Q InvertedDict.List 2 InvertedDict.List) () InvertedDict.Prop D1 (P 3 p P 2 prop P 1 dict P 0 a) ?e@A"JI[HldKI\JBLKBNIL NIL () InvertedDict.Name D1 (I 0 dict) #@g @o@g @(34Q MKATOM 31Q CONCAT 26Q InvertedDict.Prop 6 InvertedDict.Prop) (23Q RemoteDict 3 RemoteDict) ( 17Q ": ") InvertedDict.Open D1 (P 0 OPENFN I 0 invertedDict) @g H@kH(6 InvertedDict.Prop) (3 OPENFN) () (PRETTYCOMPRINT ANALYZERCOMS) (RPAQQ ANALYZERCOMS ((COMS (* * THE ANALYZER CLASS) (RECORDS Morphalyzer) (* renamed record to avoid a conflict.) (MACROS Analyzer.Open Analyzer.Close Analyzer.Corrections Analyzer.Proofread Analyzer.Analyze Analyzer.Lookup Analyzer.FindWord Analyzer.AddEntry) (* MACROS that call apply the methods of the analyzer class.) (FNS AnalyzerFromName Analyzer.CountWords Analyzer.DefaultCorrections Analyzer.DefaultNextWord Analyzer.Name Analyzer.DefaultAddEntry Analyzer.DefaultAnalyze Analyzer.DefaultProofread) (* Functions implementing the default case for various methods of the analyzer class.) (FNS Analyzer.DefaultLoadWordList Analyzer.DefaultStoreWordList Analyzer.ReadWordList Analyzer.WriteWordList CREATEWORDLISTRDTBL) (INITVARS WORDLISTRDTBL) (FNS Analyzer.Prop Analyzer.PushProp) (MACROS Analyzer.AlphaCharP \Analyzer.TestCorruption Analyzer.Capitalization Analyzer.UCaseP) (* Service MACROS.) (FNS STREAM.FETCHSTRING) (MACROS Stream.Init Stream.NextChar) ( FNS Analyzer.CorruptWord) (GLOBALVARS WORDLISTRDTBL)) (COMS (* * TEDIT interface to analyzer.) (FNS Analyzer.Establish AnalyzerForStream Analyzer.QuitFn Analyzer.BeforeLogout) (FNS TEdit.ProofreadMenu WITH-TEDIT TEdit.Correct TEdit.CountWords TEdit.AddEntry TEdit.Proofread TEdit.SetAnalyzer TEdit.LoadWordList TEdit.StoreWordList Analyzer.TEditMenuItems) (INITVARS Analyzer.List Proofreader.AutoCorrect Analyzer.DefaultStream (Proofreader.AutoDelete T) (Proofreader.MenuEdge (QUOTE LEFT)) Analyzer.TimeProofreader Proofreader.UserFns) (GLOBALVARS Analyzer.List Proofreader.AutoCorrect Analyzer.DefaultStream Proofreader.AutoDelete Proofreader.MenuEdge Analyzer.TimeProofreader Proofreader.UserFns) (P (Analyzer.TEditMenuItems) (push BEFORELOGOUTFORMS ( QUOTE (Analyzer.BeforeLogout))))) (COMS (* * THE Dict CLASS) (RECORDS Dict) (MACROS Dict.Open Dict.Close Dict.GetEntry Dict.PutEntry Dict.PrintEntry Dict.MapEntries) (* * utility functions) (FNS DictFromName Dict.Establish Dict.Prop Dict.Name) (INITVARS Dict.DictionaryList) (GLOBALVARS Dict.DictionaryList) (* * a simple dictionary.) (FNS SimpleDict.New SimpleDict.PutEntry SimpleDict.Lookup SimpleDict.MapEntries SimpleDict.PrintEntries SimpleDict.Test) (RECORDS SimpleDict.Node)) (COMS (* * the INVERTEDDICT class) (RECORDS INVERTEDDICT) (FNS InvertedDictFromName InvertedDict.Establish InvertedDict.Prop InvertedDict.Name InvertedDict.Open) (INITVARS InvertedDict.List) (GLOBALVARS InvertedDict.List)) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA InvertedDict.Prop Dict.Prop Analyzer.Prop))))) (DATATYPE Morphalyzer (analyzerName grammar index analyzerProps openFn closeFn proofreadFn analyzeFn lookupFn correctionsFn generateFn conjugateFn findWordFn addEntryFn) openFn _ (FUNCTION NILL) closeFn _ (FUNCTION NILL) proofreadFn _ (FUNCTION Analyzer.DefaultProofread) analyzeFn _ (FUNCTION Analyzer.DefaultAnalyze) lookupFn _ (FUNCTION NILL) correctionsFn _ (FUNCTION Analyzer.DefaultCorrections) generateFn _ (FUNCTION NILL) conjugateFn _ (FUNCTION NILL) findWordFn _ ( FUNCTION NILL) addEntryFn _ (FUNCTION Analyzer.DefaultAddEntry)) (/DECLAREDATATYPE (QUOTE Morphalyzer) (QUOTE (POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER)) (QUOTE ((Morphalyzer 0 POINTER) (Morphalyzer 2 POINTER) (Morphalyzer 4 POINTER) (Morphalyzer 6 POINTER) (Morphalyzer 8 POINTER) (Morphalyzer 10 POINTER) (Morphalyzer 12 POINTER) (Morphalyzer 14 POINTER) (Morphalyzer 16 POINTER) (Morphalyzer 18 POINTER) (Morphalyzer 20 POINTER) (Morphalyzer 22 POINTER) (Morphalyzer 24 POINTER) (Morphalyzer 26 POINTER))) (QUOTE 28)) (PUTPROPS Analyzer.Open MACRO ((analyzer) (APPLY* (fetch (Morphalyzer openFn) of analyzer) analyzer))) (PUTPROPS Analyzer.Close MACRO ((analyzer) (APPLY* (fetch (Morphalyzer closeFn) of analyzer)))) (PUTPROPS Analyzer.Corrections MACRO ((analyzer stream loc len) (* * returns a list of possible corrections for the string starting at "loc" that is "len" characters long.) (APPLY* (fetch ( Morphalyzer correctionsFn) of analyzer) analyzer stream loc len))) (PUTPROPS Analyzer.Proofread MACRO ((analyzer stream start length prFn) (* * The user interface to Analyzer.Analyze.) (APPLY* (fetch (Morphalyzer proofreadFn) of analyzer) analyzer stream start length prFn))) (PUTPROPS Analyzer.Analyze MACRO ((analyzer stream fromLoc toLoc analFn) (* * break up the stream into legal lexical items. call analFn (analyzer stream start len entries) on each item, where "entries" is the analysis of that item. If "entries" is NIL, then the item could not be analyzed.) (APPLY* (fetch (Morphalyzer analyzeFn) of analyzer) analyzer stream fromLoc toLoc analFn))) (PUTPROPS Analyzer.Lookup MACRO ((analyzer stream fromLoc toLoc) (* * Look up the substring of stream between fromLoc and toLoc in dict. "stream" can be a stream, a string, or a list of characters.) ( APPLY* (fetch (Morphalyzer lookupFn) of analyzer) analyzer stream fromLoc toLoc))) (PUTPROPS Analyzer.FindWord MACRO ((analyzer word stream start length) (APPLY* (fetch (Morphalyzer findWordFn) of analyzer) analyzer word stream start length))) (PUTPROPS Analyzer.AddEntry MACRO ((analyzer lemma entry dontRecord errorStream) (* * add lemma to the dictionary with entry "entry" %. If dontRecord is non-NIL, don't worry about keeping track of this word for the word list.) (APPLY* (fetch (Morphalyzer addEntryFn) of analyzer) analyzer lemma entry dontRecord errorStream))) (RPAQ? WORDLISTRDTBL NIL) (PUTPROPS Analyzer.AlphaCharP MACRO ((CHAR) (OR (EQ (LRSH CHAR 8) 241) ((LAMBDA (UCHAR) (DECLARE ( LOCALVARS UCHAR)) (OR (EQ (LRSH UCHAR 8) 241) (AND (IGEQ UCHAR (CHARCODE A)) (ILEQ UCHAR (CHARCODE Z)) ))) (LOGAND CHAR 95))))) (PUTPROPS \Analyzer.TestCorruption MACRO ((analyzer word wordList userDict) (COND ((OR ( Analyzer.Lookup analyzer word) (AND userDict (SimpleDict.Lookup userDict word))) (push wordList ( CONCATCODES word)))))) (PUTPROPS Analyzer.Capitalization MACRO ((word) (* * returns NIL, ALL or FIRST) (COND ((AND (CAR word) (Analyzer.UCaseP (CAR word))) (COND ((AND (CADR word) (Analyzer.UCaseP (CADR word))) (QUOTE ALL)) (T (QUOTE FIRST))))))) (PUTPROPS Analyzer.UCaseP MACRO ((UCHAR) (OR (AND (IGEQ UCHAR (CHARCODE 361,041)) (ILEQ UCHAR ( CHARCODE 361,160))) (AND (IGEQ UCHAR (CHARCODE A)) (ILEQ UCHAR (CHARCODE Z)))))) (PUTPROPS Stream.Init MACRO ((stream start length) (COND ((STRINGP stream) (OR start (SETQ start 0)) ( OR length (SETQ length (NCHARS stream)))) ((NOT (LISTP stream)) (COND ((NULL start) (SETQ start 0))) ( COND ((NULL length) (SETQ length (IDIFFERENCE (GETEOFPTR stream) start)))) (SETFILEPTR stream start))) )) (PUTPROPS Stream.NextChar MACRO ((stream length index) (COND ((LISTP stream) (pop stream)) ((OR (NULL stream) (ILEQ length 0)) NIL) ((STRINGP stream) (add length -1) (add index 1) (NTHCHARCODE stream index)) (T (add length -1) (BIN stream))))) (RPAQ? Analyzer.List NIL) (RPAQ? Proofreader.AutoCorrect NIL) (RPAQ? Analyzer.DefaultStream NIL) (RPAQ? Proofreader.AutoDelete T) (RPAQ? Proofreader.MenuEdge (QUOTE LEFT)) (RPAQ? Analyzer.TimeProofreader NIL) (RPAQ? Proofreader.UserFns NIL) (Analyzer.TEditMenuItems) (push BEFORELOGOUTFORMS (QUOTE (Analyzer.BeforeLogout))) (DATATYPE Dict (dictName contents analyzer dictProps subDictionaries openFn closeFn getEntryFn putEntryFn mapFn printEntryFn) openFn _ (FUNCTION NILL) closeFn _ (FUNCTION NILL) getEntryFn _ ( FUNCTION NILL) putEntryFn _ (FUNCTION NILL) mapFn _ (FUNCTION NILL) printEntryFn _ (FUNCTION NILL)) (/DECLAREDATATYPE (QUOTE Dict) (QUOTE (POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER)) (QUOTE ((Dict 0 POINTER) (Dict 2 POINTER) (Dict 4 POINTER) (Dict 6 POINTER) (Dict 8 POINTER) (Dict 10 POINTER) (Dict 12 POINTER) (Dict 14 POINTER) (Dict 16 POINTER) (Dict 18 POINTER) (Dict 20 POINTER))) (QUOTE 22)) (PUTPROPS Dict.Open MACRO ((dict messageStream) (APPLY* (fetch (Dict openFn) of dict) dict messageStream))) (PUTPROPS Dict.Close MACRO ((dict) (APPLY* (fetch (Dict closeFn) of dict)))) (PUTPROPS Dict.GetEntry MACRO ((dict uniqueID prop) (APPLY* (fetch (Dict getEntryFn) of dict) dict uniqueID prop))) (PUTPROPS Dict.PutEntry MACRO ((dict uniqueID entry prop) (APPLY* (fetch putEntryFn of dict) dict uniqueID entry prop))) (PUTPROPS Dict.PrintEntry MACRO ((dict entry stream) (APPLY* (COND ((type? Dict dict) (fetch (Dict printEntryFn) of dict)) ((type? INVERTEDDICT dict) (InvertedDict.Prop dict (QUOTE PRINTENTRYFN)))) dict entry stream))) (PUTPROPS Dict.MapEntries MACRO ((dict MpFn prop topOnly) (* MpFn (dict uniqueId entry prop)) (APPLY* (fetch (Dict mapFn) of dict) dict MpFn prop topOnly))) (RPAQ? Dict.DictionaryList NIL) (RECORD SimpleDict.Node (char value . subnodes)) (TYPERECORD INVERTEDDICT (INVERTEDDICTNAME HEADERINDEX KEYINDEX INDEXFILE FILEDIR FILENAME FILEEXT FILEARRAY INVERTEDDICTPROPS)) (RPAQ? InvertedDict.List NIL) (PUTPROPS ANALYZER COPYRIGHT ("Xerox Corporation" 1985 1986 1987 1988)) NIL