1 ;"Implements executable abstr save file with jcl. See abstr.doc."
3 <USE "JCL" "ABSTR" "PURIFY">
9 <PROG (JCL:<OR <VECTOR [REST STRING]> FALSE>)
10 <COND (<AND <=? <SAVE "ABSTR"> "RESTORED">
12 <SET JCL <PROCESS-JCL <READARGS>>>>
14 <FUNCTION (NAME:STRING "AUX" RESULT (OUTCHAN:CHANNEL .OUTCHAN))
15 <COND (<NOT <SET RESULT <ABSTRACT-PACKAGE .NAME>>>
18 <CRLF> <PRINC .REASON>>
23 <PRINC "Usage: abstr [-a -i -n -s -d directory] files ...">
27 <DEFINE PROCESS-JCL (J:<OR <VECTOR [REST STRING]> FALSE>)
28 <COND (<AND .J <NOT <EMPTY? .J>>>
31 <COND (<AND <NOT <EMPTY? .J>> <==? <1 .ITEM> !\->>
32 <COND (<==? <2 .ITEM> !\I>
33 <SETG ABSTRACT-IGNORE? T>)
35 <SETG ABSTRACT-NOISY? %<>>)
37 <SETG ABSTRACT-CAREFUL? %<>>)
39 <SETG L-USE-ABSTRACTS? T>
40 <SETG L-SECOND-NAMES ["ABSTR" !,L-SECOND-NAMES]>)
41 (<AND <==? <2 .ITEM> !\D>
42 <NOT <EMPTY? <SET J <REST .J>>>>>
43 <BIND (FN:<CHANNEL 'PARSE>)
44 <SET FN <CHANNEL-OPEN PARSE
45 <STRING <1 .J> "/FOO.BAR">>>
46 <SNAME <CHANNEL-OP .FN SNM>>
48 ([<SET DEV <CHANNEL-OP .FN DEV>>
49 <SET SNM <CHANNEL-OP .FN SNM>>]