1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-11 23:53:12 +00:00
PDP-10.its/bin/librm3/msdtp.fbin

53 lines
1.7 KiB
Plaintext

'<PCODE "MSDTP">
<PACKAGE "MSDTP">
<ENTRY EMPTY DFIX DWORD BOOL XTRA BITSTR POINTER>
<ENTRY SEMTYPE? GET-SEMTYPE PUT-SEMTYPE SEMTYPES BYTER8>
<PRINTTYPE <NEWTYPE EMPTY WORD> <FUNCTION (E) <PRINC !"~>>>
<COND (<LOOKUP "~" <2 .OBLIST>>) (<BLOCK <REST .OBLIST>> <LINK <CHTYPE 0 EMPTY>
"~"> <ENDBLOCK>)>
<NEWTYPE DFIX UVECTOR '<<PRIMTYPE UVECTOR> FIX FIX>>
<NEWTYPE DWORD UVECTOR '<<PRIMTYPE UVECTOR> WORD WORD>>
<NEWTYPE BOOL FIX>
<NEWTYPE XTRA FIX>
<NEWTYPE BITSTR UVECTOR '<<PRIMTYPE UVECTOR> [REST WORD]>>
<NEWTYPE POINTER LIST '<<PRIMTYPE LIST> FIX FIX>>
<MOBLIST SEMTYPES>
<SETG SEMTYPE? #MACRO ( %<RSUBR!- '[ %<PCODE!- "MSDTP" 0> SEMTYPE? #DECL (
"VALUE" FORM "QUOTE" FORM) ==? OBLIST? <GET SEMTYPES OBLIST>]>)>
<SETG GET-SEMTYPE %<RSUBR!- '[ %<PCODE!- "MSDTP" 29> GET-SEMTYPE #DECL ("VALUE"
ANY <OR DFIX FIX <LIST [REST CHARACTER]> STRING>) %<TYPE-C DFIX UVECTOR> #FALSE
() %<RGLOC SEMTYPES T> SEMTYPES OBLIST LIST]>>
<AND <ASSIGNED? GLUE> .GLUE <PUT ,GET-SEMTYPE PGLUE ![1073479680!]>>
<SETG PUT-SEMTYPE #MACRO ( %<RSUBR!- '[ %<PCODE!- "MSDTP" 161> PUT-SEMTYPE #DECL
("VALUE" FORM "QUOTE" <OR FORM ATOM>) COND GASSIGNED? GVAL SPNAME]>)>
<GDECL (SEMTYPES) <UVECTOR [REST ATOM]>>
<SETG SEMTYPES <PROG ((T 0)) <MAPF ,UVECTOR <FUNCTION (STR) <SETG <SET STR <
GET-SEMTYPE .STR>> <SET T <+ .T 1>>> .STR> '["INSERT" "INDIRECT" "AMBIG"
"PGROUP" "DGROUP" "USER" "FIELD" "MSGID" "FILE" "TIME" "RTIME" "ATIME"
"UNPARSED"]>>>
<SETG BYTER8 %<RSUBR-ENTRY '[GET-SEMTYPE BYTER8 #DECL ("VALUE" STRING <UVECTOR [
REST <PRIMTYPE WORD>]>)] 111>>
<AND <ASSIGNED? GLUE> .GLUE <PUT ,GET-SEMTYPE GLUE ![1096031733 4412440000
1327360 1157689404 1311680 -4294963440 16777219 262148 524403!]>>
<ENDPACKAGE>