(FILECREATED " 9-Nov-84 21:40:50" {ERIS}<SPEECH>LEXICON>SEARCH.;1 2810   

      changes to:  (VARS SEARCHCOMS)
		   (FNS FINDCLITIC LOOKUP*)

      previous date: " 4-Nov-84 20:37:33" {PHYLUM}<WITHGOTT>MLISP>SEARCH.;1)


(* Copyright (c)  by NIL. All rights reserved.)

(PRETTYCOMPRINT SEARCHCOMS)

(RPAQQ SEARCHCOMS ((FNS FINDCLITIC FINDMATCH LOOKUP*)))
(DEFINEQ

(FINDCLITIC
  [LAMBDA (ARRAY OUTFILE PATTERN)                            (* mmw: " 9-Nov-84 20:39")
    (PROG [(OUTSTREAM (OPENSTREAM OUTFILE (QUOTE OUTPUT]
          (for I ENTRY from 1 to (ARRAYSIZE ARRAY)
	     do (SETQ ENTRY (ELT ARRAY I))
		(SETQ TRANSCRIPTION (CADR (ELT ARRAY I)))
		(if (OR (STRPOS PATTERN TRANSCRIPTION NIL (QUOTE *))
			(STRPOS (PACK (DREMOVE (QUOTE *)
					       (UNPACK PATTERN)))
				TRANSCRIPTION 1))
		    then (PRIN1 ENTRY OUTSTREAM)
			 (TERPRI OUTSTREAM))
		(if (EQ (IREMAINDER I 250)
			0)
		    then (PRIN1 (QUOTE chomp)
				T))
	     finally (RETURN (CLOSEF OUTSTREAM])

(FINDMATCH
  [LAMBDA (ARRAY OUTFILE PATTERN)                            (* mmw: " 9-Nov-84 11:15")
    (PROG [(OUTSTREAM (OPENSTREAM OUTFILE (QUOTE OUTPUT]
          (for I TRANSCRIPTION from 1 to (ARRAYSIZE ARRAY) do ((SETQ TRANSCRIPTION
								 (CADR (ELT ARRAY I)))
							       (if (STRPOS PATTERN TRANSCRIPTION)
								   then (PRIN1 TRANSCRIPTION 
									       OUTSTREAM)
									(TERPRI OUTSTREAM))
							       (if (EQ (IREMAINDER I 250)
								       0)
								   then (PRIN1 (QUOTE chomp)
									       T)))
	     finally (RETURN (CLOSEF OUTSTREAM])

(LOOKUP*
  [LAMBDA (ARRAY OUTFILE PATTERN)                            (* mmw: " 9-Nov-84 21:38")
    (PROG [(OUTSTREAM (OPENSTREAM OUTFILE (QUOTE OUTPUT]
          (for I ENTRY from 1 to (ARRAYSIZE ARRAY)
	     do (SETQ ENTRY (ELT ARRAY I))
		(SETQ TRANSCRIPTION (CADR (ELT ARRAY I)))
		(if (OR (STRPOS PATTERN TRANSCRIPTION NIL (QUOTE *))
                                                             (* "skip" does not handle the empty string, so must 
							     take out the wildcard)
			(STRPOS (PACK (DREMOVE (QUOTE *)
					       (UNPACK PATTERN)))
				TRANSCRIPTION 1))
		    then (PRIN1 ENTRY OUTSTREAM)
			 (TERPRI OUTSTREAM))
		(if (EQ (IREMAINDER I 250)                   (* tells user search is progressing)
			0)
		    then (PRIN1 (QUOTE chomp)
				T))
	     finally (RETURN (CLOSEF OUTSTREAM])
)
(DECLARE: DONTCOPY
  (FILEMAP (NIL (366 2788 (FINDCLITIC 376 . 1131) (FINDMATCH 1133 . 1816) (LOOKUP* 1818 . 2786)))))
STOP