Commit eacba1de authored by pknaggs's avatar pknaggs

Remvoed 13.1 markup and added RC2 pagination

parent 9655f24e
......@@ -117,6 +117,7 @@
\end{worddef}
\pagebreak
\begin{worddef}{0070}{'}[tick]
\item \stack{"<spaces>name"}{xt}
......@@ -247,6 +248,7 @@
\end{worddef}
\pagebreak
\begin{worddef}{0110}{*/MOD}[star-slash-mod]
\item \stack{n_1 n_2 n_3}{n_4 n_5}
......@@ -427,6 +429,7 @@
\end{worddef}
\pagebreak
\begin{worddef}{0150}{,}[comma]
\item \stack{x}{}
......@@ -553,6 +556,7 @@
\end{worddef}
\enlargethispage{4ex}
\begin{worddef}{0230}{/}[slash]
\item \stack{n_1 n_2}{n_3}
......@@ -1130,6 +1134,7 @@
\end{worddef}
\enlargethispage{6ex}
\begin{worddef}[toR]{0580}{>R}[to-r]
\interpret
Interpretation semantics for this word are undefined.
......@@ -1269,7 +1274,7 @@
special behavior. Insofar as such behavior is outside the
standard, Standard Programs cannot depend upon it, but the
committee doesn't wish to preclude it unnecessarily.
\replace{ed13}{Since}{ Because} actual values are almost always small integers, no
Because actual values are almost always small integers, no
functionality is impaired by this restriction.
It is recommended that all non-graphic characters be reserved
......@@ -1465,6 +1470,7 @@
\end{worddef}
\enlargethispage{6ex}
\begin{worddef}{0770}{BL}[b-l]
\item \stack{}{char}
......@@ -1725,6 +1731,7 @@
\end{worddef}
\vspace*{-0.5ex}
\begin{worddef}{1000}{CREATE}
\item \stack{"<spaces>name"}{}
......@@ -1766,6 +1773,7 @@
\end{worddef}
\vspace*{-0.5ex}
\begin{worddef}{1170}{DECIMAL}
\item \stack{}{}
......@@ -1777,6 +1785,7 @@
\end{worddef}
\vspace*{-0.5ex}
\begin{worddef}{1200}{DEPTH}
\item \stack{}{+n}
......@@ -1790,7 +1799,8 @@
\end{testing}
\end{worddef}
\vspace*{-0.5ex}
\enlargethispage{10ex}
\begin{worddef}{1240}{DO}
\interpret
Interpretation semantics for this word are undefined.
......@@ -1803,6 +1813,7 @@
semantics are incomplete until resolved by a consumer of
\param{do-sys} such as \word{LOOP}.
%\pagebreak
\runtime
\stack{n_1|u_1 n_2|u_2}{}
\stack[R]{}{loop-sys}
......@@ -1951,6 +1962,7 @@
\end{worddef}
\pagebreak
\begin{worddef}{1310}{ELSE}
\interpret
Interpretation semantics for this word are undefined.
......@@ -2073,6 +2085,7 @@
\end{worddef}
\pagebreak
\begin{worddef}{1360}{EVALUATE}
\item \stack{i*x c-addr u}{j*x}
......@@ -2173,6 +2186,7 @@
\end{worddef}
\enlargethispage{10ex}
\begin{worddef}{1550}{FIND}
\item \stack{c-addr}{c-addr 0 | xt 1 | xt -1}
......@@ -2356,6 +2370,7 @@
\end{worddef}
\enlargethispage{4ex}
\begin{worddef}{1650}{HERE}
\item \stack{}{addr}
......@@ -2649,7 +2664,7 @@
\end{worddef}
\pagebreak
\begin{worddef}{1760}{LEAVE}
\interpret
Interpretation semantics for this word are undefined.
......@@ -2691,6 +2706,7 @@
\end{worddef}
\enlargethispage{4ex}
\begin{worddef}{1780}{LITERAL}
\interpret
Interpretation semantics for this word are undefined.
......@@ -2977,6 +2993,7 @@
\end{worddef}
\enlargethispage{8ex}
\begin{worddef}{1910}{NEGATE}
\item \stack{n_1}{n_2}
......@@ -3139,6 +3156,7 @@
\end{worddef}
\enlargethispage{8ex}
\begin{worddef}[Rfrom]{2060}{R>}[r-from]
\interpret
Interpretation semantics for this word are undefined.
......@@ -3334,6 +3352,7 @@
\end{worddef}
\enlargethispage{4ex}
\begin{worddef}[Sq]{2165}{S"}[s-quote]
\interpret
Interpretation semantics for this word are undefined.
......@@ -3782,6 +3801,7 @@
\end{worddef}
\pagebreak
\begin{worddef}{2380}{UNLOOP}
\interpret
Interpretation semantics for this word are undefined.
......@@ -3899,6 +3919,7 @@
\end{worddef}
\pagebreak
\begin{worddef}{2430}{WHILE}
\interpret
Interpretation semantics for this word are undefined.
......@@ -4163,6 +4184,7 @@
%\end{worddef}
\enlargethispage{6ex}
\begin{worddef}[.p]{0200}{.(}[dot-paren]
\compile
Perform the execution semantics given below.
......@@ -4272,6 +4294,7 @@
\end{worddef}
\pagebreak
\begin{worddef}{0415}{2R@}[two-r-fetch]
\interpret
Interpretation semantics for this word are undefined.
......@@ -4394,7 +4417,7 @@
\begin{rationale} % A.6.2.0620 ?DO
Typical use:
\tab \place{ed13}{\word{:} \texttt{X} {\ldots}} \word{qDO} {\ldots} \word{LOOP} \place{ed13}{{\ldots} \word{;}}
\tab \word{:} \texttt{X} {\ldots} \word{qDO} {\ldots} \word{LOOP} {\ldots} \word{;}
\end{rationale}
\begin{testing}\ttfamily
......@@ -4552,7 +4575,7 @@
% -------------------------------------------------------------------
\enlargethispage{6ex}
\begin{worddef}{0825}{BUFFER:}[buffer-colon][x:buffer]
\item \stack{u "<spaces>name"}{}
......@@ -4755,6 +4778,7 @@
\end{worddef}
\pagebreak
\begin{worddef}{0945}{COMPILE,}[compile-comma]
\interpret
Interpretation semantics for this word are undefined.
......@@ -4769,18 +4793,13 @@
\see \rref{core:COMPILE,}{}.
\begin{rationale} % A.6.2.0945 COMPILE,
\cbstart\patch{ed13}
\uline{\word{COMPILE,} is the compilation equivalent of
\word{EXECUTE}.}
\word{COMPILE,} is the compilation equivalent of \word{EXECUTE}.
\uline{%
In traditional threaded-code implementations, compilation is
performed by \word{,} (comma). This usage is not portable; it
doesn't work for subroutine-threaded, native code, or
relocatable implementations. Use of \word{COMPILE,} is portable.
}
\uline{%
In most systems it is possible to implement \word{COMPILE,} so
it will generate code that is optimized to the same extent as
code that is generated by the normal compilation process.
......@@ -4792,7 +4811,6 @@
the compilation token from the execution token. In these
implementations, \word{COMPILE,} might not generate code that
is as efficient as normally compiled code.
}
The intention is that \word{COMPILE,} can be used as follows to write
the classic interpreter/com\-piler loop:
......@@ -4817,28 +4835,6 @@
Thus the interpretation semantics are left undefined, as \word{COMPILE,}
will not be executed during interpretation.
\sout{%
In traditional threaded-code implementations, compilation is
performed by \word{,} (comma). This usage is not portable; it
doesn't work for subroutine-threaded, native code, or
relocatable implementations. Use of \word{COMPILE,} is portable.
}
\sout{%
In most systems it is possible to implement \word{COMPILE,} so
it will generate code that is optimized to the same extent as
code that is generated by the normal compilation process.
However, in some implementations there are two different
``tokens'' corresponding to a particular definition name:
the normal ``execution token'' that is used while interpreting
or with \word{EXECUTE}, and another ``compilation token'' that
is used while compiling. It is not always possible to obtain
the compilation token from the execution token. In these
implementations, \word{COMPILE,} might not generate code that
is as efficient as normally compiled code.
}
\cbend
\end{rationale}
\begin{testing}\ttfamily
......@@ -4977,6 +4973,7 @@
\end{worddef}
\pagebreak
\begin{worddef}{1342}{ENDCASE}[end-case]
\interpret
Interpretation semantics for this word are undefined.
......@@ -5155,6 +5152,7 @@
% ===================================================================
\enlargethispage{2ex}
\begin{worddef}{1725}{IS}[][X:deferred]
\interpret
\stack{xt "<spaces>name"}{}
......@@ -5239,6 +5237,7 @@
system to remember ``landmark information'' in advance that
specifically marks the spots where the dictionary may at some
future time have to be rearranged.
\pagebreak
\end{rationale}
\end{worddef}
......@@ -5400,12 +5399,6 @@
\item The temporary buffer is typically overwritten by the
next use of \word{WORD}.
\remove{ed13}{This introduces a temporal
dependency; the value returned by \word{WORD} is only
valid for a limited duration. \word{PARSE} has a
temporal dependency, too, related to the lifetime of
the input buffer, but that is less severe in most
cases than \word{WORD}'s temporal dependency.}
\end{enumerate}
The need for \word{WORD} has largely been eliminated by
......@@ -5599,7 +5592,7 @@
\verb|\f| & FF & (form feed, & ASCII 12) \\
\verb|\l| & LF & (line feed, & ASCII 10) \\
\verb|\m| & CR/LF & pair & (ASCII 13, 10) \\
\verb|\n| & newline& \multicolumn{2}{l}{(implementation dependent , e.g., CR/LF, CR, LF, LF/CR)} \\
\verb|\n| & newline & \multicolumn{2}{l}{(implementation dependent , e.g., CR/LF, CR, LF, LF/CR)} \\
\verb|\q| & \multicolumn{2}{l}{double-quote} & (ASCII 34) \\
\verb|\r| & CR & (carriage return, & ASCII 13) \\
\verb|\t| & HT & (horizontal tab, & ASCII 9) \\
......@@ -5750,6 +5743,7 @@
These are examples only; a Standard Program may not assume any
particular meaning for the individual stack items returned by
\word{SAVE-INPUT}.
\pagebreak
\end{rationale}
\begin{testing}\ttfamily
......@@ -5911,7 +5905,7 @@
a mode flag that is tested by the subsequent execution of
\param{name}. Standard programs must use \word{TO} as if it
parses. Therefore \word{TO} and \param{name} must be
contiguous \replace{ed13}{,}{ and} on the same line\remove{ed13}{,} in the source text.
contiguous and on the same line in the source text.
\end{rationale}
\begin{testing} % T.6.2.2295 TO
......@@ -5920,6 +5914,7 @@
\end{worddef}
\enlargethispage{6ex}
\begin{worddef}{2298}{TRUE}
\item \stack{}{true}
......
This diff is collapsed.
......@@ -664,6 +664,7 @@ Extensions word sets.
\end{worddef}
\pagebreak
\subsection{Double-Number extension words} % 8.6.2
\extended
......
......@@ -16,14 +16,6 @@ The \word{THROW} values \{-255{\ldots}-1\} shall be used only as
assigned by this standard. The values \{-4095{\ldots}-256\}
shall be used only as assigned by a system.
\remove{x:throw-iors}{%
If the File-Access or Memory-Allocation word sets are implemented,
it is recommended that the non-zero values of \emph{ior} lie within
the range of system \word{THROW} values, as defined above. In an
operating-system environment, this can sometimes be accomplished
by ``biasing'' the range of operating-system exception codes to fall
within the \word{THROW} range.}
Programs shall not define values for use with \word{THROW} in the
range \{-4095{\ldots}-1\}.
......@@ -244,6 +236,7 @@ The phrase ``Requiring the Exception Extensions word set'' shall be
appended to the label of Standard Programs that require the system
to provide all of the Exception and Exception Extensions word sets.
\pagebreak
\section{Glossary} % 9.6
\subsection{Exception words} % 9.6.1
......@@ -450,6 +443,7 @@ to provide all of the Exception and Exception Extensions word sets.
\end{worddef}
\pagebreak
\subsection{Exception extension words} % 9.6.2
\extended
......
......@@ -173,6 +173,7 @@ to provide all of the Facility and Facility Extensions word sets.
the application must use \word{KEYq} and \word[core]{KEY} only
when it wishes to discard non-character events until a valid
character is received.
\pagebreak
\end{rationale}
\end{worddef}
......@@ -399,7 +400,7 @@ to provide all of the Facility and Facility Extensions word sets.
\stack{addr_1}{addr_2}
Add the \param{offset} calculated during the compile time action to
\param{addr_1} giving the \remove{ed13}{character aligned} address \param{addr_2}.
\param{addr_1} giving the address \param{addr_2}.
\see \wref{facility:+FIELD}{+FIELD},
\wref{facility:BEGIN-STRUCTURE}{BEGIN-STRUCTURE}, \\
......@@ -473,7 +474,7 @@ to provide all of the Facility and Facility Extensions word sets.
% -------------------------------------------------------------------
\pagebreak
\begin{worddef}[EKEYtoFKEY]{1306}[40]{EKEY>FKEY}[e-key-to-f-key][X:ekeys]
\item \stack{x}{u flag}
......@@ -519,45 +520,15 @@ to provide all of the Facility and Facility Extensions word sets.
\begin{rationale} % A.10.6.2.---- EKEY>FKEY
\cbstart\patch{ed13}
\sout{%
This words has been provided to allow for systems which may not
be able to interpret the value returned from \word{EKEY}
directly. A simple implementation for a system which is capable
of interpreting the value returned from \word{EKEY} would be:}
\begin{quote}
\ttfamily
\sout{\word{:} \word{EKEYtoFKEY} \word{p} u1 -{}- u2 flag )} \\
\tab \sout{\word{DUP} \word{EKEYtoCHAR} \word{NIP} \word{0=} \word{;}}
\end{quote}
\sout{%
The value returned from \word{EKEYtoFKEY} can be interpreted
via a set of pre-defined constants and masks. This provides
the application programmer with the ability to process the
non-ASCII keys in a standard way. Note however, that not all
keyboards provide these keys. Indeed, some devices will not
have a keyboard. A standard program should be written in such
a way that they will continue to work without these additional
keys. Albeit with a limited or reduced functionality.}
\sout{%
The \texttt{K-}{\ldots} words produce the same values that the
sequence \word{EKEY} \word{EKEYtoFKEY} may produce when the
user presses the corresponding keys. Note that some systems
may lack some of the keys, or the system the capability to
report them. Programs should be written such that they continue
to work (although less conveniently or with less functionality)
if these key combinations cannot be produced.}
\uline{%
\word{EKEY} produces an abstract cell type for a keyboard event (e.g., a
keyboard scan code). \word{EKEYtoFKEY} checks if such an event
corresponds to a special (non-graphic) key press, and if so, returns
a code for the special key press. The encoding of special keys (returned
by \word{EKEYtoFKEY}) may be different from the encoding of these
keys as keyboard events (input to \word{EKEYtoFKEY}).}
\word{EKEY} produces an abstract cell type for a keyboard
event (e.g., a keyboard scan code). \word{EKEYtoFKEY} checks
if such an event corresponds to a special (non-graphic) key
press, and if so, returns a code for the special key press.
The encoding of special keys (returned by \word{EKEYtoFKEY})
may be different from the encoding of these keys as keyboard
events (input to \word{EKEYtoFKEY}).
Typical Use:
......@@ -576,83 +547,50 @@ to provide all of the Facility and Facility Extensions word sets.
\word{THEN}
\end{quote}
\uline{%
The codes for the special keys are system-dependent, but this
standard provides words for getting the key codes for a number
of keys:}
of keys:
\begin{center}
\begin{tabular}{llcll}
\hline
\uline{Word} & \uline{Key} & \hspace{2em} & \uline{Word} & \uline{Key} \\ \hline\hline
\uline{\word{K-F1}} & \uline{F1} & & \uline{\word{K-LEFT}} & \uline{cursor left} \\
\uline{\word{K-F2}} & \uline{F2} & & \uline{\word{K-RIGHT}} & \uline{cursor right} \\
\uline{\word{K-F3}} & \uline{F3} & & \uline{\word{K-UP}} & \uline{cursor up} \\
\uline{\word{K-F4}} & \uline{F4} & & \uline{\word{K-DOWN}} & \uline{cursor down} \\
\uline{\word{K-F5}} & \uline{F5} & & \uline{\word{K-HOME}} & \uline{home or Pos1} \\
\uline{\word{K-F6}} & \uline{F6} & & \uline{\word{K-END}} & \uline{End} \\
\uline{\word{K-F7}} & \uline{F7} & & \uline{\word{K-PRIOR}} & \uline{PgUp or Prior} \\
\uline{\word{K-F8}} & \uline{F8} & & \uline{\word{K-NEXT} } & \uline{PgDn or Next} \\
\uline{\word{K-F9}} & \uline{F9} & & \uline{\word{K-INSERT}} & \uline{Insert} \\
\uline{\word{K-F10}} & \uline{F10} & & \uline{\word{K-DELETE}} & \uline{Delete} \\
\uline{\word{K-F11}} & \uline{F11} \\
\uline{\word{K-F12}} & \uline{F12} \\ \hline
Word & Key & \hspace{2em} & Word & Key \\ \hline\hline
\word{K-F1} & F1 & & \word{K-LEFT} & cursor left \\
\word{K-F2} & F2 & & \word{K-RIGHT} & cursor right \\
\word{K-F3} & F3 & & \word{K-UP} & cursor up \\
\word{K-F4} & F4 & & \word{K-DOWN} & cursor down \\
\word{K-F5} & F5 & & \word{K-HOME} & home or Pos1 \\
\word{K-F6} & F6 & & \word{K-END} & End \\
\word{K-F7} & F7 & & \word{K-PRIOR} & PgUp or Prior \\
\word{K-F8} & F8 & & \word{K-NEXT} & PgDn or Next \\
\word{K-F9} & F9 & & \word{K-INSERT} & Insert \\
\word{K-F10} & F10 & & \word{K-DELETE} & Delete \\
\word{K-F11} & F11 \\
\word{K-F12} & F12 \\ \hline
\end{tabular}
\end{center}
\uline{%
In addition, you can get codes for shifted variants of these keys by
\word{OR}ing with \word{K-SHIFT-MASK}, \word{K-CTRL-MASK}
In addition, you can get codes for shifted variants of these
keys by \word{OR}ing with \word{K-SHIFT-MASK}, \word{K-CTRL-MASK}
and/or \word{K-ALT-MASK}, e.g. \word{K-CTRL-MASK}
\word{K-ALT-MASK} \word{OR} \word{K-DELETE} \word{OR}.
The masks for the shift keys are:
}
\begin{center}
\begin{tabular}{ll}
\hline
\uline{Word} & \uline{Key} \\ \hline\hline
\uline{\word{K-SHIFT-MASK}} & \uline{Shift} \\
\uline{\word{K-CTRL-MASK}} & \uline{Ctrl} \\
\uline{\word{K-ALT-MASK}} & \uline{Alt} \\ \hline
Word & Key \\ \hline\hline
\word{K-SHIFT-MASK} & Shift \\
\word{K-CTRL-MASK} & Ctrl \\
\word{K-ALT-MASK} & Alt \\ \hline
\end{tabular}
\end{center}
\uline{%
Note that not all of these keys are available on all systems, and not
all combinations of keys and shift keys are available. Therefore
programs should be written such that they continue to work (although
less conveniently or with less functionality) if these key combinations
cannot be produced.}
\item[\sout{\word{EKEY} return values}] ~\\
\sout{ The intention behind \word{EKEY} was that it would return the
implementation defined keyboard scan code. The implementation
defined nature of the value means that a standard program may
not use the value in any way, other than passing it on to
\word{EKEYtoCHAR} to convert it into an ASCII character.}
\sout{%
\word{EKEYtoFKEY} has been designed to be used in a similar
manner. It provides an implementation defined value which
corresponds to non-ASCII keys, or a combination thereof. A
standard program may check which key combination has been used
via a set of pre-defined constants.}
\item[\sout{Shift keys}] ~\\
\sout{Note that, as defined, the shift key masks
(\wref{facility:K-SHIFT-MASK}{K-SHIFT-MASK},
\linebreak
\wref{facility:K-CTRL-MASK}{K-CTRL-MASK} and
\wref{facility:K-ALT-MASK}{K-ALT-MASK})
are only useful for recognizing shifted cursor and function
keys, because these are the only values defined for use with
\word{EKEYtoFKEY}.
E.g., a standard program cannot recognize \textsc{Alt-T},
because no \word{EKEY} return value for \texttt{T} has been
defined.}
\cbend
cannot be produced.
\end{rationale}
\begin{implement} % I.10.6.2.--- EKEY>FKEY
......@@ -730,7 +668,7 @@ to provide all of the Facility and Facility Extensions word sets.
\end{worddef}
% -------------------------------------
\enlargethispage{2ex}
\begin{worddef}{1336}{END-STRUCTURE}[][X:structures]
\item \stack{struct-sys +n}{}
......@@ -749,6 +687,7 @@ to provide all of the Facility and Facility Extensions word sets.
\end{worddef}
\pagebreak
\begin{worddef}{1518}{FIELD:}[field-colon][X:structures]
\item \stack{n_1 "<spaces>name"}{n_2}
......@@ -763,7 +702,7 @@ to provide all of the Facility and Facility Extensions word sets.
\stack{addr_1}{addr_2}
Add the \param{offset} calculated during the compile time action
to \param{addr_1} giving the \remove{ed13}{cell aligned} address \param{addr_2}.
to \param{addr_1} giving the address \param{addr_2}.
\see \wref{facility:+FIELD}{+FIELD},
\wref{facility:BEGIN-STRUCTURE}{BEGIN-STRUCTURE}, \\
......
% !TeX root = forth.tex
% !TeX spellcheck = en_US
\chapter{The optional File-Access word set} % 11
\wordlist{file}
......@@ -40,7 +43,6 @@ under the following assumptions:
Append table \ref{file:types} to table \ref{table:datatypes}.
\patch{x:throw-iors}
\begin{table}[h]
\begin{center}
\caption{Data types}
......@@ -49,9 +51,6 @@ Append table \ref{file:types} to table \ref{table:datatypes}.
\hline\hline
\emph{Symbol} & \emph{Data type} & \emph{Size on stack} \\
\hline
\cbstart
\sout{\emph{ior}} & \sout{I/O results} & \sout{1 cell} \\
\cbend
\emph{fam} & file access method & 1 cell \\
\emph{fileid} & file identifier & 1 cell \\
\hline\hline
......@@ -66,24 +65,8 @@ that are passed to file operators to designate specific files.
Opening a file assigns a file identifier, which remains valid
until closed.
\cbstart\patch{x:throw-iors}
\subsubsection[I/O results]{\sout{I/O results}} % 11.3.1.2
\label{file:ior}
\sout{%
I/O results are single-cell numbers indicating the result of I/O
operations. A value of zero indicates that the I/O operation
completed successfully; other values and their meanings are
implementation-defined. Reaching the end of a file shall be
reported as zero.}
\sout{%
An I/O exception in the execution of a File-Access word that can
return an I/O result shall not cause a \word[exception]{THROW};
exception indications are returned in the \emph{ior}.}
\cbend
\subsubsection{File access methods} % 11.3.1.3
\setcounter{subsubsection}{2}
\subsubsection{File access methods (11.3.1.3)} % 11.3.1.3
File access methods are implementation-defined single-cell
values.
......@@ -178,7 +161,6 @@ See: \xref[3.4.1 Parsing]{usage:parsing}.
\item input file state after an exception
(\wref{file:INCLUDE-FILE}{INCLUDE-FILE},
\wref{file:INCLUDED}{INCLUDED});
\item \remove{x:throw-iors}{\emph{ior} values and meaning} (\xref[11.3.1.2 I/O results]{file:ior});
\item maximum depth of file input nesting
(\xref[11.3.4 Input source]{file:source});
\item maximum size of input line (\xref[11.3.6 Parsing]{file:parsing});
......@@ -296,6 +278,7 @@ provide all of the File Access and File Access Extensions word sets.
\end{worddef}
\enlargethispage{2ex}
\begin{worddef}{0765}{BIN}
\item \stack{fam_1}{fam_2}
......@@ -431,6 +414,7 @@ provide all of the File Access and File Access Extensions word sets.
\end{worddef}
\pagebreak
\begin{worddef}{1717}{INCLUDE-FILE}
\item \stack{i*x fileid}{j*x}
......@@ -884,6 +868,7 @@ provide all of the File Access and File Access Extensions word sets.
\end{worddef}
\enlargethispage{6ex}
\begin{worddef}{2425}{W/O}[w-o]
\item \stack{}{fam}
......
......@@ -340,7 +340,7 @@ word sets.
\subsection{Floating-Point words} % 12.6.1
\enlargethispage{2ex}
\begin{worddef}[toFLOAT]{0558}{>FLOAT}[to-float]
\item \stack{c-addr u}{true | false}
\stack[F]{}{r |~} or
......@@ -480,11 +480,11 @@ word sets.
\param{d} is the double-cell signed-integer equivalent of the
integer portion of \param{r}. The fractional portion of \param{r}
is discarded. An ambiguous condition exists if the integer portion
of \param{r} cannot be \remove{ed13}{precisely} represented as a double-cell
of \param{r} cannot be represented as a double-cell
signed integer.
\note \place{ed13}{Rounding the floating-point value prior to calling \word{FtoD} is
advised, because \word{FtoD} rounds towards zero.}
\note Rounding the floating-point value prior to calling \word{FtoD}
is advised, because \word{FtoD} rounds towards zero.
\end{worddef}
......@@ -673,6 +673,7 @@ word sets.
\end{worddef}
\vspace*{-0.5ex}
\begin{worddef}{1620}{FSWAP}[f-swap]
\item \stack[F]{r_1 r_2}{r_2 r_1} or
\stack{r_1 r_2}{r_2 r_1}
......@@ -681,6 +682,7 @@ word sets.
\end{worddef}
\vspace*{-0.5ex}
\begin{worddef}{1630}{FVARIABLE}[f-variable]
\item \stack{"<spaces>name"}{}
......@@ -708,7 +710,8 @@ word sets.
\end{rationale}
\end{worddef}
\vspace*{-0.5ex}
\enlargethispage{6ex}
\begin{worddef}{2143}{REPRESENT}
\item \stack{c-addr u}{n flag_1 flag_2} \stack[F]{r}{} or
\stack{r c-addr u}{n flag_1 flag_2}
......@@ -812,6 +815,7 @@ word sets.
% ---------------------------------------------------------
\pagebreak
\begin{worddef}{1207}[40]{DFFIELD:}[d-f-field-colon][X:structures]
\item \stack{n_1 "<spaces>name"}{n_2}
......@@ -827,7 +831,7 @@ word sets.
\stack{addr_1}{addr_2}
Add the \param{offset} calculated during the compile time action to
\param{addr_1} giving the \remove{ed13}{double-float aligned} address \param{addr_2}.
\param{addr_1} giving the address \param{addr_2}.
\see \wref{facility:+FIELD}{+FIELD},
\wref{facility:BEGIN-STRUCTURE}{BEGIN-STRUCTURE}, \\
......@@ -864,6 +868,7 @@ word sets.
\end{worddef}
\enlargethispage{8ex}
\begin{worddef}[Fd]{1427}{F.{}}[f-dot]
\item \stack{}{} \stack[F]{r}{} or
\stack{r}{}
......@@ -894,11 +899,11 @@ word sets.
\param{n} is the single-cell signed-integer equivalent of the
integer portion of \param{r}. The fractional portion of
\param{r} is discarded. An ambiguous condition exists if
the integer portion of \param{r} cannot be \remove{ed13}{precisely}
represented as a single-cell signed integer.
the integer portion of \param{r} cannot be represented as a
single-cell signed integer.
\note Rounding the floating-point value prior to calling \word{FtoS} is
advised\place{ed13}{, because \word{FtoS} rounds towards zero}.
advised, because \word{FtoS} rounds towards zero.
\see \wref{floating:StoF}{}.
......@@ -1194,6 +1199,7 @@ word sets.
\end{worddef}
\pagebreak
\begin{worddef}[FEd]{1513}{FE.{}}[f-e-dot]
\item \stack{}{} \stack[F]{r}{} or
\stack{r}{}
......@@ -1262,11 +1268,9 @@ word sets.
\word{FEXPM1} = 3.82983E-4, and \\
convert to percentage = 0.0382983\%.
\end{enumerate}
This \replace{ed13}{is full six-digit accuracy.}{ calculation method allows}
\remove{ed13}{This allows}
the hyperbolic functions to