perm filename CYCDRJ.LAP[4,LMM] blob sn#040787 filedate 1973-05-06 generic text, type T, neo UTF8
(DEFPROP CYCDRJFNS (CYCDRJFNS ISOMERS RING DRAW LABELLER DRAWS) VALUE) 

(LAP ISOMERS SUBR) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG1  (MOVEI 1. (QUOTE CL?) S) 
       (CALL 1. (E PRINT) S) 
       (CALL 0. (E READ) S) 
       (MOVEM 1. 0. P) 
       (CALL 1. (E ATOM) S) 
       (JUMPE 1. TAG11) 
       (MOVEI 1. (QUOTE "THAT CAN'T BE RIGHT - ENTER A ") S) 
       (CALL 1. (E PRINC) S) 
       (JRST 0. TAG1) 
 TAG11 (PUSH P 0. P) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG2  (MOVE 1. -2. P) 
       (JUMPE 1. TAG5) 
       (HLRZ@ 1. -2. P) 
       (MOVEM 1. -1. P) 
       (CALL 1. (E ATOM) S) 
       (JUMPN 1. TAG20) 
       (HRRZ@ 1. -1. P) 
       (CALL 1. (E NUMBERP) S) 
       (JUMPE 1. TAG20) 
       (HLRZ@ 1. -1. P) 
       (CALL 1. (E ATOM) S) 
       (JUMPE 1. TAG20) 
       (MOVEI 2. (QUOTE VALENCE) S) 
       (HLRZ@ 1. -1. P) 
       (CALL 2. (E GET) S) 
       (CALL 1. (E NUMBERP) S) 
       (JUMPN 1. TAG26) 
       (CALL 0. (E TERPRI) S) 
       (MOVEI 1. (QUOTE "WHAT'S THE VALENCE OF ") S) 
       (CALL 1. (E PRINC) S) 
       (PUSH P 1.) 
       (HLRZ@ 1. -2. P) 
       (CALL 1. (E PRINC) S) 
       (MOVEI 1. (QUOTE ?) S) 
       (CALL 1. (E PRINC) S) 
       (HLRZ@ 1. -2. P) 
       (PUSH P 1.) 
       (CALL 0. (E READ) S) 
       (MOVEI 3. (QUOTE VALENCE) S) 
       (MOVE 2. 1.) 
       (POP P 1.) 
       (CALL 3. (E PUTPROP) S) 
       (CALL 1. (E NUMBERP) S) 
       (POP P 1.) 
       (JUMPE 1. TAG20) 
 TAG26 (TDZA 1. 1.) 
 TAG20 (MOVEI 1. (QUOTE T) S) 
       (MOVEM 1. 0. P) 
       (JUMPE 1. TAG19) 
       (JRST 0. TAG13) 
 TAG19 
 TAG3 
 TAG4  (HRRZ@ 1. -2. P) 
       (MOVEM 1. -2. P) 
       (JRST 0. TAG2) 
 TAG5  (MOVE 1. 0. P) 
 TAG13 (SUB P (C 3. 0. 3. 0.)) 
       (JUMPN 1. TAG1) 
 TAG6  (MOVEI 1. (QUOTE U?) S) 
       (CALL 1. (E PRINT) S) 
       (CALL 0. (E READ) S) 
       (MOVEM 1. -1. P) 
       (CALL 1. (E NUMBERP) S) 
       (JUMPE 1. TAG6) 
       (MOVE 2. -1. P) 
       (MOVE 1. 0. P) 
       (CALL 2. (E MOLECULES) S) 
       (MOVEM 1. (SPECIAL RESULTS) S) 
       (CALL 1. (E LENGTH) S) 
       (PUSH P 1.) 
       (MOVEI 1. (QUOTE GENERATED) S) 
       (CALL 1. (E NCONS) S) 
       (MOVEI 2. (QUOTE STRUCTURES) S) 
       (CALL 2. (E XCONS) S) 
       (POP P 2.) 
       (CALL 2. (E XCONS) S) 
       (CALL 1. (E PRINT) S) 
       (MOVEI 1. (QUOTE NIL)) 
       (SUB P (C 2. 0. 2. 0.)) 
       (POPJ P) 
       NIL 

(LAP RING SUBR) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG1  (MOVEI 1. (QUOTE CL?) S) 
       (CALL 1. (E PRINT) S) 
       (CALL 0. (E READ) S) 
       (MOVEM 1. 0. P) 
       (CALL 1. (E ATOM) S) 
       (JUMPE 1. TAG11) 
       (MOVEI 1. (QUOTE "THAT CAN'T BE RIGHT - ENTER A ") S) 
       (CALL 1. (E PRINC) S) 
       (JRST 0. TAG1) 
 TAG11 (PUSH P 0. P) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG2  (MOVE 1. -2. P) 
       (JUMPE 1. TAG5) 
       (HLRZ@ 1. -2. P) 
       (MOVEM 1. -1. P) 
       (CALL 1. (E ATOM) S) 
       (JUMPN 1. TAG20) 
       (HRRZ@ 1. -1. P) 
       (CALL 1. (E NUMBERP) S) 
       (JUMPE 1. TAG20) 
       (HLRZ@ 1. -1. P) 
       (CALL 1. (E ATOM) S) 
       (JUMPE 1. TAG20) 
       (MOVEI 2. (QUOTE VALENCE) S) 
       (HLRZ@ 1. -1. P) 
       (CALL 2. (E GET) S) 
       (CALL 1. (E NUMBERP) S) 
       (JUMPN 1. TAG26) 
       (CALL 0. (E TERPRI) S) 
       (MOVEI 1. (QUOTE "WHAT'S THE VALENCE OF ") S) 
       (CALL 1. (E PRINC) S) 
       (PUSH P 1.) 
       (HLRZ@ 1. -2. P) 
       (CALL 1. (E PRINC) S) 
       (MOVEI 1. (QUOTE ?) S) 
       (CALL 1. (E PRINC) S) 
       (HLRZ@ 1. -2. P) 
       (PUSH P 1.) 
       (CALL 0. (E READ) S) 
       (MOVEI 3. (QUOTE VALENCE) S) 
       (MOVE 2. 1.) 
       (POP P 1.) 
       (CALL 3. (E PUTPROP) S) 
       (CALL 1. (E NUMBERP) S) 
       (POP P 1.) 
       (JUMPE 1. TAG20) 
 TAG26 (TDZA 1. 1.) 
 TAG20 (MOVEI 1. (QUOTE T) S) 
       (MOVEM 1. 0. P) 
       (JUMPE 1. TAG19) 
       (JRST 0. TAG13) 
 TAG19 
 TAG3 
 TAG4  (HRRZ@ 1. -2. P) 
       (MOVEM 1. -2. P) 
       (JRST 0. TAG2) 
 TAG5  (MOVE 1. 0. P) 
 TAG13 (SUB P (C 3. 0. 3. 0.)) 
       (JUMPN 1. TAG1) 
 TAG6  (MOVEI 1. (QUOTE U?) S) 
       (CALL 1. (E PRINT) S) 
       (CALL 0. (E READ) S) 
       (MOVEM 1. -1. P) 
       (CALL 1. (E NUMBERP) S) 
       (JUMPE 1. TAG6) 
       (MOVE 2. 0. P) 
       (MOVE 1. -1. P) 
       (CALL 2. (E RINGS) S) 
       (MOVEM 1. (SPECIAL RESULTS) S) 
       (CALL 1. (E LENGTH) S) 
       (PUSH P 1.) 
       (MOVEI 1. (QUOTE GENERATED) S) 
       (CALL 1. (E NCONS) S) 
       (MOVEI 2. (QUOTE STRUCTURES) S) 
       (CALL 2. (E XCONS) S) 
       (POP P 2.) 
       (CALL 2. (E XCONS) S) 
       (CALL 1. (E PRINT) S) 
       (MOVEI 1. (QUOTE NIL)) 
       (SUB P (C 2. 0. 2. 0.)) 
       (POPJ P) 
       NIL 

(LAP DRAW SUBR) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (MOVE 1. (SPECIAL RESULTS) S) 
       (CALL 1. (E LENGTH) S) 
       (MOVE 2. -1. P) 
       (CALL 2. (E *LESS) S) 
       (JUMPE 1. TAG5) 
       (MOVEI 1. (QUOTE (NOT THAT MANY STRUCTURES -- TRY AGAIN!!!)) S) 
       (CALL 1. (E PRINT) S) 
       (JRST 0. TAG4) 
 TAG5  (MOVE 2. -1. P) 
       (MOVE 1. (SPECIAL RESULTS) S) 
       (CALL 2. (E NTH) S) 
       (HLRZ@ 1. 1.) 
       (HLRZ@ 2. 1.) 
       (MOVEM 1. 0. P) 
       (CAIE 2. (QUOTE STRUC) S) 
       (JRST 0. TAG6) 
       (MOVEI 2. (QUOTE NIL)) 
       (CALL 2. (E DRAWS) S) 
       (JRST 0. TAG4) 
 TAG6  (MOVE 1. -1. P) 
       (CALL 1. (E NCONS) S) 
       (MOVEI 2. (QUOTE STRUCTURE#) S) 
       (CALL 2. (E XCONS) S) 
       (MOVEM 1. (SPECIAL TITLE) S) 
       (MOVE 1. 0. P) 
       (CALL 1. (E PRINRAD) S) 
 TAG4  (MOVEI 1. (QUOTE NIL)) 
       (SUB P (C 2. 0. 2. 0.)) 
       (POPJ P) 
       NIL 

(LAP LABELLER SUBR) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG1  (CALL 0. (E TERPRI) S) 
       (MOVEI 1. (QUOTE "ATOMS TO BE LABELLED?") S) 
       (CALL 1. (E PRINC) S) 
       (CALL 0. (E READ) S) 
       (MOVEM 1. 0. P) 
       (CALL 1. (E ATOM) S) 
       (JUMPE 1. TAG11) 
       (MOVEI 1. (QUOTE "THAT CAN'T BE RIGHT - ENTER A ") S) 
       (CALL 1. (E PRINC) S) 
       (JRST 0. TAG1) 
 TAG11 (PUSH P 0. P) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG2  (MOVE 1. -2. P) 
       (JUMPE 1. TAG5) 
       (HLRZ@ 1. -2. P) 
       (MOVEM 1. -1. P) 
       (CALL 1. (E ATOM) S) 
       (JUMPN 1. TAG20) 
       (HRRZ@ 1. -1. P) 
       (CALL 1. (E NUMBERP) S) 
       (JUMPE 1. TAG20) 
       (HLRZ@ 1. -1. P) 
       (CALL 1. (E ATOM) S) 
       (JUMPE 1. TAG20) 
       (MOVEI 2. (QUOTE VALENCE) S) 
       (HLRZ@ 1. -1. P) 
       (CALL 2. (E GET) S) 
       (CALL 1. (E NUMBERP) S) 
       (JUMPN 1. TAG26) 
       (CALL 0. (E TERPRI) S) 
       (MOVEI 1. (QUOTE "WHAT'S THE VALENCE OF ") S) 
       (CALL 1. (E PRINC) S) 
       (PUSH P 1.) 
       (HLRZ@ 1. -2. P) 
       (CALL 1. (E PRINC) S) 
       (MOVEI 1. (QUOTE ?) S) 
       (CALL 1. (E PRINC) S) 
       (HLRZ@ 1. -2. P) 
       (PUSH P 1.) 
       (CALL 0. (E READ) S) 
       (MOVEI 3. (QUOTE VALENCE) S) 
       (MOVE 2. 1.) 
       (POP P 1.) 
       (CALL 3. (E PUTPROP) S) 
       (CALL 1. (E NUMBERP) S) 
       (POP P 1.) 
       (JUMPE 1. TAG20) 
 TAG26 (TDZA 1. 1.) 
 TAG20 (MOVEI 1. (QUOTE T) S) 
       (MOVEM 1. 0. P) 
       (JUMPE 1. TAG19) 
       (JRST 0. TAG13) 
 TAG19 
 TAG3 
 TAG4  (HRRZ@ 1. -2. P) 
       (MOVEM 1. -2. P) 
       (JRST 0. TAG2) 
 TAG5  (MOVE 1. 0. P) 
 TAG13 (SUB P (C 3. 0. 3. 0.)) 
       (JUMPN 1. TAG1) 
 TAG6  (MOVEI 1. (QUOTE U?) S) 
       (CALL 1. (E PRINT) S) 
       (CALL 0. (E READ) S) 
       (MOVEM 1. -1. P) 
       (CALL 1. (E NUMBERP) S) 
       (JUMPE 1. TAG6) 
       (MOVE 2. -1. P) 
       (MOVE 1. 0. P) 
       (CALL 2. (E MOLECULES) S) 
       (MOVEM 1. (SPECIAL RESULTS) S) 
       (CALL 1. (E LENGTH) S) 
       (PUSH P 1.) 
       (MOVEI 1. (QUOTE GENERATED) S) 
       (CALL 1. (E NCONS) S) 
       (MOVEI 2. (QUOTE STRUCTURES) S) 
       (CALL 2. (E XCONS) S) 
       (POP P 2.) 
       (CALL 2. (E XCONS) S) 
       (CALL 1. (E PRINT) S) 
       (MOVEI 1. (QUOTE NIL)) 
       (SUB P (C 2. 0. 2. 0.)) 
       (POPJ P) 
       NIL 

(LAP DRAWS SUBR) 
       (PUSH P 1.) 
       (PUSH P 2.) 
       (MOVE 1. 2.) 
       (JUMPN 1. TAG9) 
       (HRRZ@ 1. -1. P) 
       (HRRZ@ 1. 1.) 
       (HLRZ@ 1. 1.) 
 TAG9  (MOVEM 1. 0. P) 
       (HRRZ@ 1. -1. P) 
       (HLRZ@ 1. 1.) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG1  (MOVE 1. -2. P) 
       (JUMPN 1. TAG14) 
       (JRST 0. TAG8) 
 TAG14 (HLRZ@ 1. -2. P) 
       (JSP 6. SPECBIND) 
       (0. 0. (SPECIAL Y) S) 
       (MOVEM 1. -1. P) 
       (HRRZ@ 1. 1.) 
       (HRRZ@ 1. 1.) 
       (HLRZ@ 1. 1.) 
       (HLRZ@ 1. 1.) 
       (PUSH P 1.) 
       (HRRZ@ 1. -2. P) 
       (HLRZ@ 1. 1.) 
       (PUSH P 1.) 
       (HRRZ@ 1. -3. P) 
       (HRRZ@ 1. 1.) 
       (HRRZ@ 1. 1.) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG2  (MOVE 1. -1. P) 
       (JUMPN 1. TAG20) 
       (JRST 0. TAG5) 
 TAG20 (HLRZ@ 1. -1. P) 
       (MOVEM 1. (SPECIAL Y) S) 
       (CALL 1. (E NUMBERP) S) 
       (JUMPN 1. TAG23) 
       (JRST 0. TAG4) 
 TAG23 (MOVE 2. 0. P) 
       (MOVE 1. (SPECIAL Y) S) 
       (CALL 2. (E CONS) S) 
       (MOVEM 1. 0. P) 
 TAG3 
 TAG4  (HRRZ@ 1. -1. P) 
       (MOVEM 1. -1. P) 
       (JRST 0. TAG2) 
 TAG5  (MOVE 2. 0. P) 
       (PUSHJ P SPECSTR) 
       (MOVE 1. -3. P) 
       (CALL 2. (E CONS) S) 
       (MOVE 2. -2. P) 
       (CALL 2. (E XCONS) S) 
       (MOVE 2. -4. P) 
       (CALL 2. (E CONS) S) 
       (SUB P (C 4. 0. 4. 0.)) 
       (MOVEM 1. 0. P) 
 TAG6 
 TAG7  (HRRZ@ 1. -2. P) 
       (MOVEM 1. -2. P) 
       (JRST 0. TAG1) 
 TAG8  (MOVE 2. 0. P) 
       (MOVE 1. -3. P) 
       (CALL 2. (E CONS) S) 
       (SUB P (C 5. 0. 5. 0.)) 
       (JCALL 1. (E LAYOUT) S) 
       NIL