Annotation of researchv10dc/dist/man/v3/man1/m6.1, revision 1.1.1.1

1.1       root        1: .pa 1
                      2: .he 'M6 (I)'11/15/72'M6 (I)'
                      3: .ti 0
                      4: NAME           m6 -- general purpose macro processor
                      5: .sp
                      6: .ti 0
                      7: SYNOPSIS       m6__
                      8: [ -d__ arg1 ] [ arg2 [ arg3 ] ]
                      9: .sp
                     10: .ti 0
                     11: DESCRIPTION    m6__
                     12: takes input from file arg2 (or standard input if arg2 is missing)
                     13: and places output on file arg3 (or standard output).
                     14: A working file of definitions, "m.def",
                     15: is initialized from  file arg1 if that is supplied.
                     16: M6 differs from the standard [1] in these
                     17: respects:
                     18: .sp
                     19: #trace:, #source: and #end:
                     20: are not defined.
                     21: .sp
                     22: #meta,arg1,arg2: transfers the role of metacharacter
                     23: arg1 to character arg2. If two metacharacters become identical
                     24: thereby, the outcome of further processing is not guaranteed.
                     25: For example, to make []{} play the
                     26: roles of #:<> type
                     27: .sp
                     28: .in+5
                     29: \\\#meta,<\\\#>,[:
                     30: .br
                     31: [meta,<:>,]:
                     32: .br
                     33: [meta,[substr,<<>>,1,1;,{]
                     34: .br
                     35: [meta,[substr,{{>>,2,1;,}]
                     36: .in-5
                     37: .sp
                     38: #del,arg1: deletes the definition of macro arg1.
                     39: .sp
                     40: #save: and #rest: save and restore the definition table together with
                     41: the current metacharacters on file
                     42: m.def.
                     43: .sp
                     44: #def,arg1,arg2,arg3: works as in the standard with the extension
                     45: that an integer may be
                     46: supplied to arg3 to cause the new macro to perform the
                     47: action of a specified builtin before its replacement text is evaluated.
                     48: Thus all builtins
                     49: except #def: can be retrieved even after deletion.
                     50: Codes for arg3 are:
                     51: .sp
                     52: .in+5
                     53: .nf
                     54: 0 - no function
                     55: 1,2,3,4,5,6 - gt,eq,ge,lt,ne,le
                     56: 7,8 - seq,sne
                     57: 9,10,11,12,13 - add,sub,mpy,div,exp
                     58: 20 - if
                     59: 21,22 - def,copy
                     60: 23 - meta
                     61: 24 - size
                     62: 25 - substr
                     63: 26,27 - go,gobk
                     64: 28 - del
                     65: 29 - dnl
                     66: 30,31 - save,rest
                     67: .fi
                     68: .in-5
                     69: .sp
                     70: .ti 0
                     71: FILES          m.def--working file of definitions
                     72: .br
                     73: /usr/lang/mdir/m6a--m6 processor proper (/usr/bin/m6 is only an initializer)
                     74: .br
                     75: /usr/lang/mdir/m6b--default initialization for m.def
                     76: .br
                     77: /bin/cp--used for copying initial value of m.def
                     78: .sp
                     79: .ti 0
                     80: SEE ALSO       [1] A. D. Hall,
                     81: The M6 Macroprocessor, Bell Telephone Laboratories, 1969
                     82: .sp
                     83: .ti 0
                     84: DIAGNOSTICS    "err"
                     85: -- a bug, an unknown builtin or a bad definition table
                     86: .br
                     87: "oprd"--can't open input or initial definitions
                     88: .br
                     89: "opwr"--can't open output
                     90: .br
                     91: "ova" -- overflow of nested arguments
                     92: .br
                     93: "ovc" -- overflow of calls
                     94: .br
                     95: "ovd" -- overflow of definitions
                     96: .br
                     97: "Try again" -- no process available for copying m.def
                     98: .br
                     99: .sp
                    100: .ti 0
                    101: BUGS           Characters in internal tables are stored
                    102: one per word.
                    103: They really should be packed to improve capacity.
                    104: For want of space (and because of unpacked formats) no file arguments
                    105: have been provided to #save: or #rest:,
                    106: and no check is made on the actual opening of file m.def.
                    107: Again to save space,
                    108: garbage collection makes calls on #save: and #rest: and so overwrites
                    109: m.def.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.