mirror of
https://github.com/PDP-10/its.git
synced 2026-01-13 15:27:28 +00:00
74 lines
2.8 KiB
Plaintext
74 lines
2.8 KiB
Plaintext
'<PCODE "2STR">
|
|
|
|
<PACKAGE "STR">
|
|
|
|
<ENTRY BACKS FIRST-OF LEX EXTRACT SUBSTR SUBSNC UPPERCASE RSHIFT SIXTOS STRTOX>
|
|
|
|
<SETG LEX %<RSUBR!- '[ %<PCODE!- "2STR" 0> LEX #DECL ("VALUE" <LIST [REST
|
|
STRING]> STRING FIX STRING) STR (STRING) N (FIX) BREAKS ()]>>
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,LEX PGLUE ![1073479680!]>>
|
|
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,LEX GLUE ![30318279792 -3288329964 5372903424
|
|
5243136 67175425 1140850688!]>>
|
|
|
|
<SETG SIXTOS %<RSUBR!- '[ %<PCODE!- "2STR" 107> SIXTOS #DECL ("VALUE" STRING <
|
|
PRIMTYPE WORD>)]>>
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,SIXTOS PGLUE ![0!]>>
|
|
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,SIXTOS GLUE '![1048576!]>>
|
|
|
|
<SETG STRTOX %<RSUBR!- '[ %<PCODE!- "2STR" 120> STRTOX #DECL ("VALUE" FIX
|
|
STRING)]>>
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,STRTOX PGLUE ![0!]>>
|
|
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,STRTOX GLUE '![83887104!]>>
|
|
|
|
<SETG SUBSTR %<RSUBR!- '[ %<PCODE!- "2STR" 139> SUBSTR #DECL ("VALUE" <OR
|
|
STRING FALSE> STRING STRING "OPTIONAL" FIX)]>>
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,SUBSTR PGLUE ![0!]>>
|
|
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,SUBSTR GLUE '![83887360 1078984788 18253942784
|
|
1073741824!]>>
|
|
|
|
<SETG SUBSNC %<RSUBR!- '[ %<PCODE!- "2STR" 203> SUBSNC #DECL ("VALUE" <OR
|
|
STRING FALSE> STRING STRING "OPTIONAL" FIX)]>>
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,SUBSNC PGLUE ![0!]>>
|
|
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,SUBSNC GLUE '![1158676480 4315938816 353435648
|
|
21238849 268435456 786444 524297!]>>
|
|
|
|
<SETG EXTRACT %<RSUBR!- '[ %<PCODE!- "2STR" 287> EXTRACT #DECL ("VALUE" <OR
|
|
STRING FALSE> STRING "OPTIONAL" <OR FIX STRING FALSE> FIX)
|
|
BAD-ARGS-TO-EXTRACT!-ERRORS]>>
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,EXTRACT PGLUE ![805306368!]>>
|
|
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,EXTRACT GLUE '![289489920 4474128 71582788
|
|
1115376 16777216 786473 524313 262158!]>>
|
|
|
|
<SETG RSHIFT %<RSUBR!- '[ %<PCODE!- "2STR" 376> RSHIFT #DECL ("VALUE" STRING
|
|
STRING FIX) ARG-OUT-OF-RANGE]>>
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,RSHIFT PGLUE ![805306368!]>>
|
|
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,RSHIFT GLUE '![1342177344 65548 0!]>>
|
|
|
|
<SETG BACKS %<RSUBR!- '[ %<PCODE!- "2STR" 416> BACKS #DECL ("VALUE" <OR STRING
|
|
FALSE> STRING STRING "OPTIONAL" FIX)]>>
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,BACKS PGLUE ![0!]>>
|
|
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,BACKS GLUE '![4362403840 279552 21743337728!]>
|
|
>
|
|
|
|
<SETG FIRST-OF %<RSUBR!- '[ %<PCODE!- "2STR" 473> FIRST-OF #DECL ("VALUE" <OR
|
|
STRING FALSE> STRING STRING "OPTIONAL" FIX)]>>
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,FIRST-OF PGLUE ![0!]>>
|
|
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,FIRST-OF GLUE '![268452864 5435822144!]>>
|
|
|
|
<SETG UPPERCASE %<RSUBR!- '[ %<PCODE!- "2STR" 511> UPPERCASE #DECL ("VALUE"
|
|
STRING STRING "OPTIONAL" FIX)]>>
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,UPPERCASE PGLUE ![0!]>>
|
|
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,UPPERCASE GLUE '![272647184 0!]>>
|
|
|
|
<ENDPACKAGE>
|