Browse Source

Added documentation about priority and optimizer keywords

ceriel 35 years ago
parent
commit
14a37445df
1 changed files with 19 additions and 9 deletions
  1. 19 9
      doc/ack.doc

+ 19 - 9
doc/ack.doc

@@ -57,7 +57,7 @@ The way the backend table name is determined is more
 convoluted.
 .br
 First, when the last filename in the program call name is not
-one of \fIack\fP, \fIcc\fP, \fIacc\fP, \fIpc\fP or \fIapc\fP,
+one of \fIack\fP or the front-end call-names,
 this filename is used as the backend description name.
 Second, when the \fB\-m\fP is present the \fB\-m\fP is chopped of this
 flag and the rest is used as the backend description name.
@@ -272,7 +272,17 @@ This keyword indicates that the transformation reads from standard input.
 This keyword indicates that the transformation writes on standard output.
 .IP \fIoptimizer\fP
 .br
-This keyword indicates that this transformation is an optimizer.
+The presence of this keyword indicates that this transformation is an optimizer.
+It can be followed by a number, indicating the "level" of the
+optimizer (see description of the -O option in the ack(1ACK) manual page).
+.IP \fIpriority\fP
+.br
+This \-~optional~\- keyword is followed by a number. Positive priority means
+that the transformation is likely to be used, negative priority means that
+the transformation is unlikely to be used.
+Priorities can also be set with a ack(1ACK) command line option.
+Priorities come in handy when there are several implementations of a
+certain transformation. They can then be used to select a default one.
 .IP \fIlinker\fP
 .br
 This keyword indicates that this transformation is the linker.
@@ -392,10 +402,10 @@ var s=2	# short size 2
 var l=4	# long size 4
 var f=4	# float size 4
 var d=8	# double size 8
-var M=int	# Unused in this example
+var M=em22
 var NAME=em22	# for cpp (NAME=em22 results in #define em22 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 LIB=lib/{M}/tail_	# part of file name for libraries
+var RT=lib/{M}/head_	# part of file name for run-time startoff
 var SIZE_FLAG=\-sm	# default internal table size flag
 var INCLUDES=\-I{EM}/include	# use {EM}/include for #include files
 name asld	# Assembler/loader
@@ -420,7 +430,7 @@ name asld	# Assembler/loader
 end
 .DE
 
-The command \fIack \-mint \-v \-v \-I../h \-L \-ly prog.c\fP
+The command \fIack \-mem22 \-v \-v \-I../h \-L \-ly prog.c\fP
 would result in the following
 calls (with exec(II)):
 .DS X
@@ -428,7 +438,7 @@ calls (with exec(II)):
 1)	/lib/cpp \-I../h \-I/usr/em/include \-Dem22 \-DEM_WSIZE=2 \-DEM_PSIZE=2 \e
 	    \-DEM_SSIZE=2 \-DEM_LSIZE=4 \-DEM_FSIZE=4 \-DEM_DSIZE=8 prog.c
 2)	/usr/em/lib/em_cem \-Vw2i2p2f4s2l4d8 \-l
-3)	/usr/em/lib/em_ass \-sm /usr/em/mach/int/lib/head_cc \-o e.out prog.k
-	/usr/em/mach/int/lib/tail_y /usr/em/mach/int/lib/tail_cc.1s
-	/usr/em/mach/int/lib/tail_cc.2g /usr/em/mach/int/lib/tail_mon
+3)	/usr/em/lib/em_ass \-sm /usr/em/lib/em22/head_cc \-o e.out prog.k
+	/usr/em/lib/em22/tail_y /usr/em/lib/em22/tail_cc.1s
+	/usr/em/lib/em22/tail_cc.2g /usr/em/lib/em22/tail_mon
 .DE