1
0
mirror of https://github.com/PDP-10/its.git synced 2026-02-23 15:52:10 +00:00
Files
PDP-10.its/bin/librm4/symbol.fbin

93 lines
2.8 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
'<PCODE "SYMBOL">
<PACKAGE "SYMBOLS">
<ENTRY SYMBOL SYMBOL-CHRTABLE SYMBOL-CHRS FAIL-HOOK>
<ENTRY REENTER-COMMAND-LOOP COMMAND-LOOP-ACTIVATION ABORTED EMPTY-LINE>
<ENTRY SVALUE>
<USE "BUF">
<SETG SYMBUF <BUFMAKE 50>>
<SETG BUF-ECHO-FLAG <>>
"SYMBOL -- lookup a symbol in a symbol table. Takes
table:vector symbols
default:fix offset of default in table
prompt1:string semantic prompt
prompt2:string syntactic prompt
expl:string detailed help
buf:buffer buffer to use
returns the offset of the symbol or a false"
<SETG SYMBOL %<RSUBR!- '[ %<PCODE!- "SYMBOL" 0> SYMBOL #DECL ("VALUE" <OR ATOM
BUFFER FALSE FIX> <OR FIX FALSE> STRING STRING <OR STRING FALSE> "TUPLE" <TUPLE
[REST VECTOR]>) BUFPRINT ADDCHR ADDSTRING BUFLENGTH GETSTR BUFCLEAR
DEFAULT-SYMBOL (<OR FIX FALSE>) EXPLANATION (<OR STRING FALSE>) TABLES (<TUPLE [
REST VECTOR]>) %<RGLOC SYMBUF T> %<TYPE-W BUFFER VECTOR> "Input symbol "
"(SYM) " "[No information available]" LERR\ !-INTERRUPTS (ACTIVATION) SYMACT %<
RGLOC SYMBOL-CHRTABLE T> T %<RGLOC ABORTED T> %<RGLOC BEST-VAL T> OUTCHAN %<
RGLOC BUF-ECHO-FLAG T> FAIL-HOOK %<RGLOC FAIL-HOOK T> %<RGLOC BEST-VALUE T>
" (No symbol matches input)" %<RGLOC EMPTY-LINE T> " [Abort]" "(No matches)"
COMMAND-LOOP-ACTIVATION %<RGLOC TABS T> %<RGLOC SPACES T>]>>
<AND <ASSIGNED? GLUE> .GLUE <PUT ,SYMBOL PGLUE ![715915263 -1 -1073741824!]>>
<SETG BEST-VAL <VECTOR 0 "" 0 0 0>>
<PUT SVALUE DECL '<VECTOR FIX <OR STRING ATOM> FIX FIX FIX>>
<GDECL (BEST-VAL) SVALUE>
<SETG ABORTED #FALSE ("ABORTED")>
<SETG EMPTY-LINE #FALSE ("EMPTY-LINE")>
<GDECL (ABORTED EMPTY-LINE) <FALSE STRING>>
<SETG TERMINATE %<RSUBR-ENTRY '[SYMBOL TERMINATE #DECL ("VALUE" ANY BUFFER
CHARACTER)] 748>>
<SETG COMTERM %<RSUBR-ENTRY '[SYMBOL COMTERM #DECL ("VALUE" ANY BUFFER CHARACTER
)] 914>>
<SETG COM-OR-TERM %<RSUBR-ENTRY '[SYMBOL COM-OR-TERM #DECL ("VALUE" ANY BUFFER
CHARACTER)] 942>>
<SETG ABORT %<RSUBR-ENTRY '[SYMBOL ABORT #DECL ("VALUE" ANY BUFFER CHARACTER)]
981>>
<SETG COMEXPL %<RSUBR-ENTRY '[SYMBOL COMEXPL #DECL ("VALUE" <OR BUFFER FIX>
BUFFER CHARACTER)] 1019>>
<SETG LISTSYMS %<RSUBR-ENTRY '[SYMBOL LISTSYMS #DECL ("VALUE" FIX BUFFER
CHARACTER)] 1067>>
<SETG REENTER-COMMAND-LOOP %<RSUBR-ENTRY '[SYMBOL REENTER-COMMAND-LOOP #DECL (
"VALUE" ANY)] 1321>>
<SETG TABS <PROG ((I -1)) <IVECTOR 15 '<ISTRING <SET I <+ .I 1>> !\ >>>>
<SETG SPACES <PROG ((I -1)) <IVECTOR 8 '<ISTRING <SET I <+ .I 1>> !\ >>>>
<GDECL (TABS SPACES) <VECTOR [REST STRING]>>
\
<SETG SYMBOL-CHRS [!\ ,IBUFCLEAR !\ ,IBUFPRINT !\ ,LISTSYMS <ASCII 12> ,
IBUFPRINT <ASCII 13> ,TERMINATE !\ ,QUOTECHR !\ ,ABORT !\ ,DLINE !\ ,
DWORD !\ ,DLINE !\ ,COMTERM !\ ,COM-OR-TERM !\? ,COMEXPL <ASCII 127> ,
IDELCHR]>
<SETG SYMBOL-CHRTABLE ,SYMBOL-CHRS>
<GDECL (SYMBOL-CHRS) <VECTOR [REST CHARACTER ANY]> (SYMBOL-CHRTABLE) <OR VECTOR
LIST>>
<ENDPACKAGE>