2 "File to convert a PPRINT with comments to a MEDPP."
3 "PPRINT MUST!!! be loaded FIRST!!!"
5 "Add the ATOMs needed for intercommunication with MEDDLE."
14 \f"Now add and change things within PPRINT."
15 <BLOCK (<GET PP OBLIST> <ROOT>)>
17 MEDSW ;"The existence of this atom in PP shows that MEDPP has been loaded."
22 <SETG PRINMED <FUNCTION () ;"Print the cursor and speed things up."
23 <PRINC .MEDDLE_CURSOR>
24 <SETG FORMS ,FASTFORMS>>>
26 <SETG COMPONENTS ;"Print the components of a structure in a column"
27 <FUNCTION (L "OPTIONAL" (OM <+ .M 1>) (STOP 0))
28 <SET L <REST .L 0>> ;"So cursor point can be recognized."
29 <REPEAT ((N <LINPOS .OUTCHAN>) (M 0))
30 <AND <EMPTY? <REST .L>> <SET M .OM>>
31 <AND <==? .L .SPECBEF> <PRINMED>>
33 <AND <==? .L .SPECAFT> <PRINMED>>
35 <AND <OR <EMPTY? <SET L <REST .L>>> <==? .L .STOP>> <RETURN DONE>>
40 <SETG ELEMENTS ;"Print the components of a structure in a line."
41 <FUNCTION (L "OPTIONAL" (M <+ .M 1>) (STOP 0))
44 <SET L <REST .L 0>> ;"So cursor point can be recognized."
45 <REPEAT ((N <LINPOS .OUTCHAN>) COM)
46 <AND <==? .L .SPECBEF> <PRINMED>>
48 <AND <==? .L .SPECAFT> <PRINMED>>
50 <AND <OR <EMPTY? <SET L <REST .L>>> <==? .L .STOP>> <RETURN DONE>>
51 <COND (.COM <TERPRI> <INDENT-TO .N>)>
54 <SETG PRINE <FUNCTION (L "OPTIONAL" (OUTCHAN .OUTCHAN)
55 "AUX" (M 0) (COMELE ,COMPONENTS))
58 (<==? <TYPE .L> STRING> <TERPRI> <PRINC .L> <TERPRI>)
59 (<FLATSIZE .L <- <LINLNT .OUTCHAN> <LINPOS .OUTCHAN>>>
60 <TERPRI> <ELEMENTS .L>)
61 (ELSE <TERPRI><COMPONENTS .L>)>
62 ,NULL>> ;"The rubout atom is there."
65 <SETG NORMFORM <FUNCTION ("AUX" (PN <+ 1 <LINPOS .OUTCHAN>>))
67 <AND <==? <REST .L 0> .SPECBEF> <PRINMED>>
69 <AND <==? .L .SPECAFT> <PRINMED>>
70 <COND (<==? .COMELE ,ELEMENTS> <COMEND>)
71 (<FORMAHEAD .L> <COMMENTS> <TERPRI> <INDENT-TO .PN>
72 <COND (<FLATSIZE <REST .L> <- <LINLNT .OUTCHAN>
76 (T <COMPONENTS <REST .L>>)>)
81 \f\f\f\ 3\f\ 3\ 3\ 3\ 3ð`Á
\83\að`Á
\83\að`Á
\83\að`Á
\83\að`Á
\83\að`Á
\83\að`Á
\83\að`Á
\83\að`Á
\83\að`Á
\83\að`Á
\83\að`Á
\83\að`Á
\83\að`Á
\83\að`Á
\83\að`Á
\83\að`Á
\83\að`Á
\83\að`Á
\83\að`Á
\83\a