mirror of
https://github.com/PDP-10/its.git
synced 2026-01-13 15:27:28 +00:00
126 lines
5.0 KiB
Plaintext
126 lines
5.0 KiB
Plaintext
'<PCODE "1MACROS">
|
||
|
||
<RPACKAGE "MACROS">
|
||
|
||
<ENTRY DO CASE INC DEC CHOP IF IF-NOT PRIMTYPE?>
|
||
|
||
<SETG DO #MACRO ( %<RSUBR!- '[ %<PCODE!- "1MACROS" 0> DO #DECL ("VALUE" FORM
|
||
"QUOTE" LIST "ARGS" LIST) DO-FOR DO-GEN DO-WHILE DO-UNTIL DO-VALUE COND-BODY
|
||
MAKE-COND PRE-CODE (LIST) POST-CODE (<LIST [REST <LIST ANY>]>) PRE-TEST
|
||
POST-TEST RETURNS "FOR" "GEN" "WHILE" "UNTIL" "VALUE" "EXTRA" "AUX" (<RETURN T>)
|
||
REPEAT]>)>
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,DO PGLUE ![715849727 -1048576!]>>
|
||
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT <1 ,DO> GLUE ![336613648 23386507207 8351367537
|
||
-3959144191 4296033340 17197633603 -16088362941 -16088366020 17448304640
|
||
18253612304 16642 69696 -34359720944 9731843137 609468463 285475904 1140850696
|
||
4116 17251238145 4294975488 72351748 17449357568 33554436 21474836480 0 524302
|
||
262156!]>>
|
||
|
||
<AND? <SETG :NONE 0> <SETG :FOR 1> <SETG :GEN 2> <SETG :UNTIL 3> <SETG :WHILE 4>
|
||
<SETG :VALUE 5> <MANIFEST :NONE :FOR :GEN :UNTIL :WHILE :VALUE>>
|
||
|
||
\
|
||
|
||
<SETG DO-FOR %<RSUBR!- '[ %<PCODE!- "1MACROS" 451> DO-FOR #DECL ("VALUE" <LIST
|
||
ANY ANY> ANY "OPTIONAL" ANY ANY ANY "TUPLE" TUPLE) PRE-CODE G? LVAL L? COND
|
||
POST-CODE SET +]>>
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,DO-FOR PGLUE ![1073725440!]>>
|
||
|
||
|
||
<SETG DO-GEN %<RSUBR!- '[ %<PCODE!- "1MACROS" 889> DO-GEN #DECL ("VALUE" <LIST
|
||
ATOM ANY> ATOM "OPTIONAL" ANY ANY ANY "TUPLE" TUPLE) PRE-CODE POST-CODE SET]>>
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,DO-GEN PGLUE ![1056964608!]>>
|
||
|
||
|
||
<SETG DO-WHILE %<RSUBR!- '[ %<PCODE!- "1MACROS" 1082> DO-WHILE #DECL ("VALUE"
|
||
LIST ANY "TUPLE" TUPLE) PRE-TEST NOT]>>
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,DO-WHILE PGLUE ![1006632960!]>>
|
||
|
||
|
||
<SETG DO-UNTIL %<RSUBR!- '[ %<PCODE!- "1MACROS" 1172> DO-UNTIL #DECL ("VALUE"
|
||
LIST ANY "TUPLE" TUPLE) POST-TEST]>>
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,DO-UNTIL PGLUE ![805306368!]>>
|
||
|
||
|
||
<SETG DO-VALUE %<RSUBR!- '[ %<PCODE!- "1MACROS" 1267> DO-VALUE #DECL ("VALUE"
|
||
ANY "TUPLE" TUPLE) RETURNS TOO-MANY!-ERRORS "VALUE" DO]>>
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,DO-VALUE PGLUE ![1069547520!]>>
|
||
|
||
|
||
<SETG MAKE-COND %<RSUBR!- '[ %<PCODE!- "1MACROS" 1352> MAKE-COND #DECL ("VALUE"
|
||
<FORM ATOM LIST> ANY LIST LIST) COND-BODY COND]>>
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,MAKE-COND PGLUE ![738197504!]>>
|
||
|
||
|
||
<SETG COND-BODY %<RSUBR!- '[ %<PCODE!- "1MACROS" 1386> COND-BODY #DECL ("VALUE"
|
||
LIST LIST LIST) RETURN]>>
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,COND-BODY PGLUE ![805306368!]>>
|
||
|
||
|
||
\
|
||
|
||
<SETG CASE #MACRO ( %<RSUBR!- '[ %<PCODE!- "1MACROS" 1435> CASE #DECL ("VALUE"
|
||
FORM "QUOTE" ANY "QUOTE" ANY "ARGS" LIST) DO-SEG GVAL BIND OB COND DEFAULT
|
||
TOO-MANY-DEFAULTS!-ERRORS CASE BAD-CLAUSE!-ERRORS .OB QUOTE
|
||
ILLEGAL-SEGMENT!-ERRORS]>)>
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,CASE PGLUE ![805306304!]>>
|
||
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT <1 ,CASE> GLUE ![336613648 4366550272
|
||
30337470464 -4279238641 4568990724 17184179487 -4026248705 5440995344 5368778992
|
||
1326080 1342640192 33554448400 17716809472 4096 340852736 0 0 786446 524300!]>>
|
||
|
||
<SETG DO-SEG %<RSUBR!- '[ %<PCODE!- "1MACROS" 1732> DO-SEG #DECL ("VALUE" FORM
|
||
ANY LIST) TYPE? PRIMTYPE? .OB OR]>>
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,DO-SEG PGLUE ![1069547520!]>>
|
||
|
||
|
||
\
|
||
|
||
<SETG INC #MACRO ( %<RSUBR!- '[ %<PCODE!- "1MACROS" 1827> INC #DECL ("VALUE"
|
||
FORM "QUOTE" ANY "OPTIONAL" "QUOTE" ANY) SET + LVAL]>)>
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,INC PGLUE ![1056964608!]>>
|
||
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT <1 ,INC> GLUE ![336613635 -16110321664
|
||
268435456 524302 262156!]>>
|
||
|
||
<SETG DEC #MACRO ( %<RSUBR!- '[ %<PCODE!- "1MACROS" 1877> DEC #DECL ("VALUE"
|
||
FORM "QUOTE" ANY "OPTIONAL" "QUOTE" ANY) SET - LVAL]>)>
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,DEC PGLUE ![1056964608!]>>
|
||
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT <1 ,DEC> GLUE ![336613635 -16110321664
|
||
268435456 524302 262156!]>>
|
||
|
||
<SETG CHOP #MACRO ( %<RSUBR!- '[ %<PCODE!- "1MACROS" 1927> CHOP #DECL ("VALUE"
|
||
FORM "QUOTE" ANY "OPTIONAL" "QUOTE" ANY) SET REST LVAL]>)>
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,CHOP PGLUE ![1056964608!]>>
|
||
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT <1 ,CHOP> GLUE ![336613635 -16110321664
|
||
268435456 524302 262156!]>>
|
||
|
||
<SETG IF #MACRO ( %<RSUBR!- '[ %<PCODE!- "1MACROS" 1977> IF #DECL ("VALUE" FORM
|
||
"ARGS" ANY) COND]>)>
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,IF PGLUE ![805306368!]>>
|
||
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT <1 ,IF> GLUE ![4379120704 -4290772992 262159 13
|
||
!]>>
|
||
|
||
<SETG IF-NOT #MACRO ( %<RSUBR!- '[ %<PCODE!- "1MACROS" 2012> IF-NOT #DECL (
|
||
"VALUE" FORM "QUOTE" ANY "ARGS" ANY) COND NOT]>)>
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,IF-NOT PGLUE ![1006632960!]>>
|
||
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT <1 ,IF-NOT> GLUE ![336613636 17112760320
|
||
1073741824 524302 262156!]>>
|
||
|
||
<SETG PRIMTYPE? #MACRO ( %<RSUBR!- '[ %<PCODE!- "1MACROS" 2061> PRIMTYPE? #DECL
|
||
("VALUE" ANY "QUOTE" ANY "ARGS" LIST) TOO-FEW-ARGUMENTS-SUPPLIED!-ERRORS
|
||
PRIMTYPE? ==? PRIMTYPE PROG OB #DECL ((OB) ATOM (VALUE) <OR FALSE ATOM>) COND .
|
||
OB OR]>)>
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,PRIMTYPE? PGLUE ![1073740800!]>>
|
||
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT <1 ,PRIMTYPE?> GLUE ![336613636 17313843196
|
||
1048703 -16928210944 16716036 1140883392 4476 62914560 1073741824 524302 262156!
|
||
]>>
|
||
|
||
<ENDPACKAGE>
|