Unix |
Unix v6 |
|
 |
m6(6) |
 |
m6 general purpose macroprocessor [ name ] copies the
standard input to the standard output, with substitutions
for any macro calls that appear. When a file name argument
is given, that file is read before the standard input. The
processor is as described in the reference with these
exceptions: causes arg1 to become a macro with
defining text arg2 and (optional) built-in serial
number arg3. deletes the definition of macro
arg1. is not implemented. sends the name of the macro
designated by arg1 to the current destination without
recognition of any warning characters; arg1 is 1 for
the most recently defined macro, 2 for the next most recent,
and so on. The name is taken to be empty when arg1
doesn’t make sense. replaces the old warning character
arg1 by the new warning character arg2. sends
the definition text of macro arg1 to the current
destination without recognition of any warning characters.
delivers the built-in serial number associated with macro
arg1. is not implemented. with arg1 =
‘1’ causes a reconstruction of each later call
to be placed on the standard output with a call level
number; other values of arg1 turn tracing off. The
built-in ‘warn’ may be used to replace
inconvenient warning characters. The example below replaces
‘#’ ‘:’ ‘<’
‘>’ by ‘[’ ‘]’
‘{’ ‘}’.
#warn,<#>,[:
[warn,<:>,]:
[warn,[substr,<<>>,1,1;,{]
[warn,[substr,{{>>,2,1;,}]
[now,{calls look like this}]
Every built-in function has a serial number, which specifies
the action to be performed before the defining text is
expanded. The serial numbers are: 1 gt, 2 eq, 3 ge, 4 lt, 5
ne, 6 le, 7 seq, 8 sne, 9 add, 10 sub, 11 mpy, 12 div, 13
exp, 20 if, 21 def, 22 copy, 23 warn, 24 size, 25 substr, 26
go, 27 gobk, 28 del, 29 dnl, 32 quote, 33 serial, 34 list,
35 trace. Serial number 0 specifies no built-in action. A.
D. Hall, M6 Reference Manual. Computer Science Technical
Report #2, Bell Laboratories, 1969. Various table overflows
and ‘‘impossible’’ conditions result
in comment and dump. There are no diagnostics for poorly
formed input. M. D. McIlroy Provision should be made to
extend tables as needed, instead of wasting a big fixed core
allocation. You get what the PDP11 gives you for
arithmetic.
 |
m6(6) |
 |