1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-26 04:02:06 +00:00

TECO documentation.

This commit is contained in:
Lars Brinkhoff
2016-11-03 07:59:01 +01:00
parent c188e800f6
commit aeb84af281
4 changed files with 10909 additions and 0 deletions

View File

@@ -6,6 +6,8 @@
[colon commands](_info_/ddt.:cmnds)
- MIDAS: [manual](info/midas.25)
- DUMP: [manual](_info_/dump.info), [format](sysdoc/dump.format)
- TECO: [primer](_teco_/teco.primer), [manual](info/tecman.20),
[commands](_teco_/tecord.1132)
### DDT cheat sheet for Unix users

344
doc/_teco_/teco.primer Executable file
View File

@@ -0,0 +1,344 @@
AN ANNOTATED OUTLINE OF TECO COMMANDS
*************************************
META-NOTATION
=============
|x Denotes the single character, control-x.
| Used alone to denote alternation.
m | n | arg Integer arguments.
string String argument.
cmd A command string.
$ Denotes the character altmode unless mentioned otherwise.
k Denotes either "m,n", or "n"; a text range of characters m through
n, or n lines.
file Denotes a file name pair, e.g., "FOO BAR".
dir Denotes a device and directory specification, e.g., "DSK: USERS;".
SPECIAL CHARACTERS
==================
|G Quit to TECO top-level; cancels partial command line.
|Z Interrupt to DDT.
altmode Terminates text argument; two successive altmodes terminate
command string.
rubout Deletes last character typed in.
QUOTE
-----
|Q Quote next character.
MODIFIERS
---------
: | ^ Prefix to certain commands, modifies them.
LOGICAL CONNECTIVES
-------------------
& Logical and, an arithmetic operator.
# Inclusive or, an arithmetic operator.
|A Exclusive or, an arithmetic operator.
ARITHMETIC
----------
0-9 Digits: xxxx is interpreted in base FS IBASE$ (10)
xxxx. is interpreted in base FS I.BASE$ (8)
+ Addition, an arithmetic operator.
space Same as "+", except that space, by itself, is not a non-null arg.
- Subtraction, an arithmetic operator.
* Multiplication, an arithmetic operator(with no operator precedence).
/ Division, an arithmetic operator(with no operator precedence).
( | ) Parentheses, grouping in arithmetic expressions.
ARGUMENT SEPARATOR
------------------
, Separates numerical arguments.
THE BUFFER
==========
. Value is number of char to left of pointer.
Z Value is number of char in buffer*.
H Equivalent to "B,Z", i.e., specifies whole buffer*.
B Value is 0, i.e., beginning of buffer*.
*Meaning is modified by use of virtual boundaries.
INSERTING
---------
Istring$ Insert string in buffer to left of pointer.
^Ixstringx Insert string delimited by char x to left of pointer.
nI Insert the char with ASCII code n.
m,nI Insert m copies of the char with code n.
tab Horizontal tab, self-inserting character.
backspace Backspace, self-inserting character.
n\ Insert printed representation of n (in base ..E).
|^ Value = ASCII code of next char in cmd.
FI Read one char from TTY and return its ASCII code as value.
ASCII
-----
mA Value = ASCII code of char m positions to right of ptr.
0A => char to immediate left of ptr.
UPPER-CASE/LOWER-CASE
---------------------
F$ Controls case conversion on input/output ($ => dollar).
kFC Convert text range k to lower-case.
MOVING AROUND
-------------
ABSOLUTE POSITION
-----------------
mJ Position ptr to after m-th char in buffer.
RELATIVE CHARACTER POSITION
---------------------------
mR Move ptr left m char; R => 1R, -mR => mC.
m:R Same as mR but returns -1(move OK) or 0(if move would cause an error).
mC Move ptr right m char; C => 1C.
m:C Returns value like m:R.
\ Move ptr right over number, return number's value.
LINE POSITION
-------------
mL Move ptr to beginning of m-th line after current position;
0L => beginning of current line.
m,nL Same as m+n-.J, used by FW, etc.
m:L Do mL, then backup over CR-LF; :l => end of current line.
WORD POSITION
-------------
nFW Returns ".,m", a buffer range where m is the position immediately after
the n-th word(contiguous string of non-delimiters; see ..D, the delimiter
dispatch table).
-nFW Returns "m,.", the range to the left.
n:FW Same as FW, but stops before the n-th word; i.e., n:FWL = nFWL-FWL.
n^FW Same as FW, but finds LISP atoms, not words.
nFWL Do an nFW, yielding ".,m", move to m (=m+.-.J).
nFWR Same as nFWL.
LIST POSITION
-------------
nFL Returns ".,m", where m is the position immediately after the
n-th list to the right.
-nFL Returns "m,.", the range to the left.
n^FL Same as nFL, but finds S-expressions, not lists.
nFU Returns ".,m", where m is the position immediately after the n-th
level up in parentheses to the right.
-nFU Same as nFU, but returns "m,.", and works to the left.
nFD Returns ".,m", where m is the position immediately after the n-th
level down in parentheses to the right.
-nFD Same as nFD, but returns "m,.", and works to the left.
nFLL Does nFL, yielding ".,m", moves to m.
nFLR Same as nFLL.
DELETING
--------
ABSOLUTE POSITION
-----------------
m,nK Kill chars in the range m,n. Move ptr there.
CHARACTER
---------
nD Delete n chars to right of ptr.
-nD Delete n chars to left of ptr.
LINE
----
nK Kill chars from . to position nL would have moved to.
K => 1K, kill to beginning of next line.
n:K Kill chars from . to position n:L would have moved to.
:K => 1:K, kill to end of current line.
WORD
----
nFWK Do an nFW returning ".,m"; kill chars in this range.
nFWD Same as nFWK.
LIST
----
nFLK Do an nFL returning ".,m"; kill chars in this range.
nFLD Same as nFLK.
TYPE-OUT
========
kT Type out text in range k (n lines or m,n chars).
kV Display text in range k on CRT.
FTstring$ Types its string argument.
FVstring$ Displays its string argument.
kVW Does kV, then waits for TTY input of one char whose ASCII code
is returned as value.
k= Types out k ("n" or "m,n") in current output radix(in ..E).
SEARCH
======
nSstring$ Find n-th occurrence of string searching forward and position ptr after it.
-nSstring$ Same as nSstring$, but search backward and position ptr before n-th string.
n^Sxstringx Same as nSstring, where string is delimited by any char x.
n:Sstring$ Same as nSstring$, but returns value = -n if successful, 0 if not.
Special chars in string:
|B Matches any delimiter(see ..D).
|Nx Matches any char but x.
|O Divides string into alternate patterns.
|Qx Quotes x.
|X Matches any char.
nNstring$ Same as nSstring$, but does P if end of buffer is reached.
n_string$ Same as nSstring$, but does Y if end of buffer is reached.
kFBstring$ Same as Sstring$ in the search domain defined by k; for k = m,n where
m>n, search backwards; ":" and "^" modifiers work.
FK Returns value = - FS INSLEN$ = - length of last string inserted, or found
by search or FW. FK < 0 except for backward search or FW.
SORT
====
|Pcmd0$cmd1$cmd2$ ASCII sort command, with the following algorithm:
Move ptr to start of buffer;
..0 := cmd0; ..1 := cmd1; ..2 := cmd2;
Iterate:
Ptr is at start of next record;
Cmd0 moves ptr to start of key;
Cmd1 moves ptr to end of key;
Cmd2 moves ptr to end of record;
Do a sort of records based on keys;
Notes: Dollar signs in the cmdi are replaced by altmodes.
If FS ^P CASE$ .NEQ. 0, then |P ignores case.
FILES
=====
DIRECTORIES
-----------
ETfile$ Set default filenames to file.
EL Type out listing of default directory.
EYdir$ Same as EL, but with specified device and sname.
EM Insert listing of default directory in buffer.
EZdir$ Same as EM, but with specified device and sname.
OPEN READ
---------
ERfile$ Opens file for input.
EPfile$ Does ERfile$, then bigprints filename twice on device open for writing.
OPEN WRITE
----------
EI Open a file "_TECO_ OUTPUT" for writing on default device and sname.
0EI Same as EI, but sets default device to DSK:.
:EI Same as EI, but uses current filename defaults rather than "_TECO_ OUTPUT".
EWdir$ Same as EI, but with specified device and sname.
:EW dir file$ Same as EW, but also with specified filenames.
INPUT
-----
Y Kills the buffer; inserts one page from current input file into buffer.
^Y Kills the buffer; yanks the entire input file into buffer.
A Append next page of input file to buffer (no arg allowed).
n:A Append n lines or up to page boundary of input file to buffer.
^A Append all of input file, and close file.
nP Output buffer and "|L", kill buffer, read one page from input file;
all done n times.
OUTPUT
------
nP See description above under input.
m,nP Output specified range of buffer, but do not clear it or input.
nPW Output buffer and "|L", but do not clear it or input; done n times.
EEfile$ Same as "infinityP EFfile$ EC".
CLOSE
-----
EFfile$ Close the output file and change its name to "file".
EC Close the input file.
DELETE
------
EDfile$ Delete the file.
COPY
----
E_old$new$ Make a copy of file "old" and name it "new".
LINK
----
EQfrom$to$ Create a link named "from" pointing to the file "to".
RENAME
------
ENold$new$ Rename the file "old" to have name "new".
Q-REGISTERS
===========
:Iqstring$ Insert string into Q-reg q, replacing prior contents.
n:Iq Insert char with ASCII code n into Q-reg q, replacing prior contents.
^:Iqxstringx Same as :Iqstring$, where string is delimited by any char x.
m,n:Iq Same as n:Iq, but inserts m copies of char.
nUq Inserts number n in Q-reg q; returns no value.
m,nUq Inserts number n in Q-reg q; returns m.
kXq Inserts text range k into Q-reg q, replacing prior contents.
k^Xq Same as kXq, but appends text to q's contents.
kFXq Same as X and K combined, i.e., "kXq kK".
nFWXq Combines nFW with Xq.
nFLXq Combines nFL with Xq.
Gq Inserts text (or decimal representation of number) from Q-reg q into buffer.
FS INSLEN$ is set to length of inserted string.
%q Increments numeric contents of Q-reg q and returns result.
[q Push text or number from Q-reg q onto Q-reg push-down list.
]q Pop text or number from Q-reg push-down list into Q-reg q.
FQq Value = number of char in Q-reg q or -1 if a number.
MACROS
======
EXECUTE
-------
m,nMqstring$ Execute string or buffer contents of Q-reg q as a TECO command. If q
contains a number, execute the corresponding |R-mode character.
ARGUMENTS
---------
|X Value is m, first arg to m,nMq. Only used inside macros.
|Y Value is n, second arg to m,nMq (or only arg to nMq).
F|X Value is all args to kMq.
F|Y Value is number of args to kMq.
|]|X Reads and returns string arg which follows kMq.
ITERATION
---------
n< cmd > Command is executed n times, or indefinitely if n is null.
n; Does nothing if n<0, otherwise passes control to char after next ">",
i.e., terminates iteration. Null n => use value of last search.
TEST AND BRANCH
---------------
arg"x then-cmd '"# else-cmd '
Conditional which checks arg according to condition x; discards arg;
executes then-cmd if condition was true, else-cmd if false.
arg"x then-cmd '
Conditional without else-cmd.
argF"x Same as arg"x, but passes first arg to then-cmd or else-cmd.
Note: The conditions x are:
B Arg is ASCII code for a delimiter(see ..D).
C Arg is ASCII code for a non-delimiter.
E Arg = 0.
G Arg > 0.
L Arg < 0.
N Arg .NEQ. 0.
TAG
---
!label! Defines label, or brackets comments.
GOTO
----
Olabel$ Sends command execution to character after !label!.
Compiled by: Mike Wirth (MCW@MIT-MC)
Oct. 29, 1976

5253
doc/_teco_/tecord.1132 Executable file

File diff suppressed because it is too large Load Diff

5310
doc/info/tecman.20 Executable file

File diff suppressed because it is too large Load Diff