Updated
This commit is contained in:
parent
0e0071d790
commit
a7329c38e3
1 changed files with 42 additions and 34 deletions
76
doc/ack.doc
76
doc/ack.doc
|
@ -28,8 +28,8 @@ starting with the next transformation in the table for another
|
||||||
transformation that has as input suffix the output suffix of
|
transformation that has as input suffix the output suffix of
|
||||||
the previous transformation.
|
the previous transformation.
|
||||||
A few special transformations are recognized, among them is the
|
A few special transformations are recognized, among them is the
|
||||||
combiner.
|
combiner, which is
|
||||||
A program combining several files into one.
|
a program combining several files into one.
|
||||||
When no stop suffix was specified (flag \fB\-c.suffix\fP) \fIack\fP
|
When no stop suffix was specified (flag \fB\-c.suffix\fP) \fIack\fP
|
||||||
stops after executing the combiner with as arguments the \-
|
stops after executing the combiner with as arguments the \-
|
||||||
possibly transformed \- input files and libraries.
|
possibly transformed \- input files and libraries.
|
||||||
|
@ -74,7 +74,8 @@ This descriptions are simply files read in at compile time.
|
||||||
At the moment of writing this document, the descriptions
|
At the moment of writing this document, the descriptions
|
||||||
included are: pdp, fe, i86, m68k2, vax2 and int.
|
included are: pdp, fe, i86, m68k2, vax2 and int.
|
||||||
The name of a description is first searched for internally,
|
The name of a description is first searched for internally,
|
||||||
then in the directory lib/ack and finally in the current
|
then in lib/descr/\fIname\fP, then in
|
||||||
|
lib/\fIname\fP/descr, band finally in the current
|
||||||
directory of the user.
|
directory of the user.
|
||||||
.NH
|
.NH
|
||||||
Using the description file
|
Using the description file
|
||||||
|
@ -204,14 +205,13 @@ The possible keywords are:
|
||||||
.br
|
.br
|
||||||
followed by a sequence of suffices.
|
followed by a sequence of suffices.
|
||||||
Each file with one of these suffices is allowed as input file.
|
Each file with one of these suffices is allowed as input file.
|
||||||
Preprocessor transformations, those with the \fBP\fP property
|
Preprocessor transformations do not need the \fIfrom\fP
|
||||||
after the \fIprop\fP keyword, do not need the \fIfrom\fP
|
|
||||||
keyword. All other transformations do.
|
keyword. All other transformations do.
|
||||||
.nr PD 0
|
.nr PD 0
|
||||||
.IP \fIto\fP
|
.IP \fIto\fP
|
||||||
.br
|
.br
|
||||||
followed by the suffix of the output file name or in the case of a
|
followed by the suffix of the output file name or in the case of a
|
||||||
linker \-~indicated by C option after the \fIprop\fP keyword~\-
|
linker
|
||||||
the output file name.
|
the output file name.
|
||||||
.IP \fIprogram\fP
|
.IP \fIprogram\fP
|
||||||
.br
|
.br
|
||||||
|
@ -264,20 +264,32 @@ The variables assigned to by \fImapflags\fP will probably be
|
||||||
used here.
|
used here.
|
||||||
The flags not recognized by \fIack\fP or any of the transformations
|
The flags not recognized by \fIack\fP or any of the transformations
|
||||||
are passed to the linker and inserted before all other arguments.
|
are passed to the linker and inserted before all other arguments.
|
||||||
.IP \fIprop\fP
|
.IP \fIstdin\fP
|
||||||
.br
|
.br
|
||||||
This \-~optional~\- keyword is followed by a sequence of options,
|
This keyword indicates that the transformation reads from standard input.
|
||||||
each option is indicated by one character
|
.IP \fIstdout\fP
|
||||||
signifying a special property of the transformation.
|
.br
|
||||||
|
This keyword indicates that the transformation writes on standard output.
|
||||||
|
.IP \fIoptimizer\fP
|
||||||
|
.br
|
||||||
|
This keyword indicates that this transformation is an optimizer.
|
||||||
|
.IP \fIlinker\fP
|
||||||
|
.br
|
||||||
|
This keyword indicates that this transformation is the linker.
|
||||||
|
.IP \fIcombiner\fP
|
||||||
|
.br
|
||||||
|
This keyword indicates that this transformation is a combiner. A combiner
|
||||||
|
is a program combining several files into one, but is not a linker.
|
||||||
|
An example of a combiner is the global optimizer.
|
||||||
|
.IP \fIprep\fP
|
||||||
|
.br
|
||||||
|
This \-~optional~\- keyword is followed an option indicating its relation
|
||||||
|
to the preprocessor.
|
||||||
The possible options are:
|
The possible options are:
|
||||||
.DS X
|
.DS X
|
||||||
< the input file will be read from standard input
|
always the input files must be preprocessed
|
||||||
> the output file will be written on standard output
|
cond the input files must be preprocessed when starting with #
|
||||||
p the input files must be preprocessed
|
is this transformation is the preprocessor
|
||||||
m the input files must be preprocessed when starting with #
|
|
||||||
O this transformation is an optimizer and may be skipped
|
|
||||||
P this transformation is the preprocessor
|
|
||||||
C this transformation is the linker
|
|
||||||
.DE
|
.DE
|
||||||
.IP \fIrts\fP
|
.IP \fIrts\fP
|
||||||
.br
|
.br
|
||||||
|
@ -308,22 +320,19 @@ transformations.
|
||||||
Amsterdam Compiler Kit.
|
Amsterdam Compiler Kit.
|
||||||
The variable SOURCE is set to the name of the argument that is currently
|
The variable SOURCE is set to the name of the argument that is currently
|
||||||
being massaged, this is usefull for debugging.
|
being massaged, this is usefull for debugging.
|
||||||
|
The variable SUFFIX is set to the suffix of the argument that is
|
||||||
|
currently being massaged.
|
||||||
.br
|
.br
|
||||||
The variable M indicates the
|
The variable M indicates the
|
||||||
directory in mach/{M}/lib/tail_..... and NAME is the string to
|
directory in lib/{M}/tail_..... and NAME is the string to
|
||||||
be defined by the preprocessor with \-D{NAME}.
|
be defined by the preprocessor with \-D{NAME}.
|
||||||
The definitions of {w}, {s}, {l}, {d}, {f} and {p} indicate
|
The definitions of {w}, {s}, {l}, {d}, {f} and {p} indicate
|
||||||
EM_WSIZE, EM_SSIZE, EM_LSIZE, EM_DSIZE, EM_FSIZE and EM_PSIZE
|
EM_WSIZE, EM_SSIZE, EM_LSIZE, EM_DSIZE, EM_FSIZE and EM_PSIZE
|
||||||
respectively.
|
respectively.
|
||||||
.br
|
.br
|
||||||
The variable INCLUDES is used as the last argument to \fIcpp\fP,
|
The variable INCLUDES is used as the last argument to \fIcpp\fP.
|
||||||
it is currently used to add the directory {EM}/include to
|
It is used to add directories to
|
||||||
the list of directories containing #include files.
|
the list of directories containing #include files.
|
||||||
{EM}/include contains a few files used by the library routines
|
|
||||||
for part III from the
|
|
||||||
.UX
|
|
||||||
manual.
|
|
||||||
These routines are included in the kit.
|
|
||||||
.PP
|
.PP
|
||||||
The variables HEAD, TAIL and RTS are set by \fIack\fP and used
|
The variables HEAD, TAIL and RTS are set by \fIack\fP and used
|
||||||
to compose the arguments for the linker.
|
to compose the arguments for the linker.
|
||||||
|
@ -346,7 +355,8 @@ name cpp # the C-preprocessor
|
||||||
# then the include dir's for this machine
|
# then the include dir's for this machine
|
||||||
# then the NAME and size valeus finally
|
# then the NAME and size valeus finally
|
||||||
# followed by the input file name
|
# followed by the input file name
|
||||||
prop >P # Output on stdout, is preprocessor
|
stdout # Output on stdout
|
||||||
|
prep is # Is preprocessor
|
||||||
end
|
end
|
||||||
name cem # the C-compiler proper
|
name cem # the C-compiler proper
|
||||||
from .c # used for files with suffix .c
|
from .c # used for files with suffix .c
|
||||||
|
@ -357,7 +367,9 @@ name cem # the C-compiler proper
|
||||||
args \-Vw{w}i{w}p{p}f{f}s{s}l{l}d{d} {CEM_F?}
|
args \-Vw{w}i{w}p{p}f{f}s{s}l{l}d{d} {CEM_F?}
|
||||||
# the arguments are the object sizes in
|
# the arguments are the object sizes in
|
||||||
# the \-V... flag and possibly \-l and \-Xp
|
# the \-V... flag and possibly \-l and \-Xp
|
||||||
prop <>p # input on stdin, output on stdout, use cpp
|
stdin # input from stdin
|
||||||
|
stdout # output on stdout
|
||||||
|
prep always # use cpp
|
||||||
rts .c # use the C run-time system
|
rts .c # use the C run-time system
|
||||||
need .c # use the C libraries
|
need .c # use the C libraries
|
||||||
end
|
end
|
||||||
|
@ -366,7 +378,7 @@ name decode # make human readable files from compact code
|
||||||
to .e # produce .e files
|
to .e # produce .e files
|
||||||
program {EM}/lib/em_decode # pathname of loadfile
|
program {EM}/lib/em_decode # pathname of loadfile
|
||||||
args < # the input file name is the only argument
|
args < # the input file name is the only argument
|
||||||
prop > # the output comes on stdout
|
stdout # the output comes on stdout
|
||||||
end
|
end
|
||||||
.DE
|
.DE
|
||||||
|
|
||||||
|
@ -379,11 +391,7 @@ var p=2 # pointersize 2
|
||||||
var s=2 # short size 2
|
var s=2 # short size 2
|
||||||
var l=4 # long size 4
|
var l=4 # long size 4
|
||||||
var f=4 # float size 4
|
var f=4 # float size 4
|
||||||
var d=8 # double size 8
|
var d=8 # dou‹ÚXYÂHÈ\<5C>Ùˆš[H˜e startoff
|
||||||
var M=int # Unused in this example
|
|
||||||
var NAME=int22 # for cpp (NAME=int results in #define int 1)
|
|
||||||
var LIB=mach/int/lib/tail_ # part of file name for libraries
|
|
||||||
var RT=mach/int/lib/head_ # part of file name for run-time startoff
|
|
||||||
var SIZE_FLAG=\-sm # default internal table size flag
|
var SIZE_FLAG=\-sm # default internal table size flag
|
||||||
var INCLUDES=\-I{EM}/include # use {EM}/include for #include files
|
var INCLUDES=\-I{EM}/include # use {EM}/include for #include files
|
||||||
name asld # Assembler/loader
|
name asld # Assembler/loader
|
||||||
|
@ -404,7 +412,7 @@ name asld # Assembler/loader
|
||||||
# the next line contains the choice for head_cc or head_pc
|
# the next line contains the choice for head_cc or head_pc
|
||||||
# and the specification of in- and output.
|
# and the specification of in- and output.
|
||||||
# the last three args lines choose libraries
|
# the last three args lines choose libraries
|
||||||
prop C # This is the final stage
|
linker
|
||||||
end
|
end
|
||||||
.DE
|
.DE
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue