mirror of
https://github.com/PDP-10/its.git
synced 2026-02-23 15:52:10 +00:00
93 lines
2.8 KiB
Plaintext
93 lines
2.8 KiB
Plaintext
'<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 [!\ |