Loading core.tex +32 −35 Original line number Diff line number Diff line Loading @@ -116,7 +116,7 @@ \end{testing} \end{worddef} \pagebreak \begin{worddef}{0070}{'}[tick] \item \stack{"<spaces>name"}{xt} Loading Loading @@ -426,7 +426,7 @@ \end{testing} \end{worddef} \newpage \begin{worddef}{0150}{,}[comma] \item \stack{x}{} Loading Loading @@ -552,7 +552,7 @@ \end{testing} \end{worddef} \enlargethispage{4ex} \begin{worddef}{0230}{/}[slash] \item \stack{n_1 n_2}{n_3} Loading Loading @@ -596,7 +596,7 @@ \end{testing} \end{worddef} \enlargethispage{10ex} \begin{worddef}{0240}{/MOD}[slash-mod] \item \stack{n_1 n_2}{n_3 n_4} Loading Loading @@ -718,7 +718,7 @@ \end{testing} \end{worddef} \newpage \begin{worddef}{0320}{2*}[two-star] \item \stack{x_1}{x_2} Loading Loading @@ -1346,7 +1346,7 @@ \wref{core:ALIGN}{}. \end{worddef} \vspace*{-5ex} \begin{worddef}{0710}{ALLOT} \item \stack{n}{} Loading Loading @@ -1464,7 +1464,7 @@ \end{testing} \end{worddef} \enlargethispage{8ex} \begin{worddef}{0770}{BL}[b-l] \item \stack{}{char} Loading Loading @@ -2072,7 +2072,7 @@ \end{testing} \end{worddef} \newpage \begin{worddef}{1360}{EVALUATE} \item \stack{i*x c-addr u}{j*x} Loading Loading @@ -2172,7 +2172,7 @@ \end{testing} \end{worddef} \enlargethispage{4ex} \begin{worddef}{1550}{FIND} \item \stack{c-addr}{c-addr 0 | xt 1 | xt -1} Loading Loading @@ -2408,7 +2408,7 @@ \end{testing} \end{worddef} \enlargethispage{2ex} \begin{worddef}{1700}{IF} \interpret Interpretation semantics for this word are undefined. Loading Loading @@ -2648,8 +2648,7 @@ \end{rationale} \end{worddef} \newpage \begin{worddef}{1760}{LEAVE} \interpret Interpretation semantics for this word are undefined. Loading Loading @@ -2750,6 +2749,7 @@ \rref{core:LOOP}{}. \begin{rationale} % A.6.1.1800 LOOP \enlargethispage{2ex} Typical use: \tab \word{:} \texttt{X} {\ldots} Loading Loading @@ -2976,7 +2976,7 @@ \end{testing} \end{worddef} \enlargethispage{4ex} \begin{worddef}{1910}{NEGATE} \item \stack{n_1}{n_2} Loading Loading @@ -3138,7 +3138,7 @@ \end{implement} \end{worddef} \enlargethispage{4ex} \begin{worddef}[Rfrom]{2060}{R>}[r-from] \interpret Interpretation semantics for this word are undefined. Loading Loading @@ -3781,7 +3781,7 @@ \end{testing} \end{worddef} \newpage \begin{worddef}{2380}{UNLOOP} \interpret Interpretation semantics for this word are undefined. Loading Loading @@ -3898,7 +3898,7 @@ \end{testing} \end{worddef} \newpage \begin{worddef}{2430}{WHILE} \interpret Interpretation semantics for this word are undefined. Loading Loading @@ -4130,7 +4130,7 @@ \end{testing} \end{worddef} \newpage \section{Core extension words} % 6.2 \extended Loading Loading @@ -4244,7 +4244,7 @@ \end{rationale} \end{worddef} \newpage \begin{worddef}[2Rfrom]{0410}{2R>}[two-r-from] \interpret Interpretation semantics for this word are undefined. Loading Loading @@ -4333,8 +4333,7 @@ \tab \word{DEFER} \texttt{print} \\[2ex] \tab \word{:NONAME} \word{p} n -{}- ) \word{d} \word{;} \word{IS} \texttt{print} \note \word{RECURSE} and \word{DOES} \replace{ed14}{shall work}{ are allowed} within a \word{:NONAME} definition. \note \word{RECURSE} and \word{DOES} are allowed within a \word{:NONAME} definition. \end{rationale} \begin{testing} Loading Loading @@ -4682,7 +4681,7 @@ \end{testing} \end{worddef} \newpage \begin{worddef}{0873}{CASE} \interpret Interpretation semantics for this word are undefined. Loading Loading @@ -4792,7 +4791,7 @@ the classic interpreter/com\-piler loop: \begin{quote}\ttfamily \ldots \tab[22] \word{p} c-addr ) \\ \ldots \tab[23.8]\word{p} c-addr ) \\ \word{FIND} \word{qDUP} \word{IF} \tab[17.2] \word{p} xt +-1 ) \\ \tab \word{STATE} \word{@} \word{IF} \tab[17.4] \word{p} xt +-1 ) \\ \tab[2] \word{0more} \word{IF} \ Loading Loading @@ -5179,7 +5178,7 @@ \end{testing} \end{worddef} \newpage \begin{worddef}{1850}{MARKER} \item \stack{"<spaces>name"}{} Loading Loading @@ -5351,7 +5350,7 @@ \begin{enumerate} \item The characters accepted by \word{WORD} must be copied from the input buffer into a \replace{ed14}{temporary}{transient} buffer, copied from the input buffer into a transient buffer, in order to make room for the count character that must be at the beginning of the counted string. The copy step is inefficient, compared to \word{PARSE}, Loading @@ -5359,7 +5358,7 @@ need to copy it anywhere. \item \word{WORD} must be careful not to store too many characters into the \replace{ed14}{temporary}{transient} buffer, thus overwriting characters into the transient buffer, thus overwriting something beyond the end of the buffer. This adds to the overhead of the copy step. (\word{WORD} may have to scan a lot of characters before finding the trailing Loading @@ -5370,7 +5369,7 @@ strings can easily be stored in blocks!). This limitation does not exist for \word{PARSE}. \item The \replace{ed14}{temporary}{transient} buffer is typically overwritten by the \item The transient buffer is typically overwritten by the next use of \word{WORD}. \end{enumerate} Loading Loading @@ -5508,7 +5507,7 @@ \end{rationale} \end{worddef} \vspace*{-6ex} \begin{worddef}{2148}{RESTORE-INPUT} \item \stack{x_n {\ldots} x_1 n}{flag} Loading Loading @@ -5541,7 +5540,7 @@ \end{worddef} % ------------------------------------------------------------------- \enlargethispage{4ex} \begin{worddef}[Seq]{2266}{S\bs"}[s-backslash-quote][X:escaped-strings] \interpret Loading Loading @@ -5577,8 +5576,7 @@ The resulting character is the conversion of these two hexadecimal digits. An ambiguous conditions exists if \texttt{\bs{x}} is not followed by two hexadecimal characters.} \\ \texttt{\bs\bs} & \multicolumn{2}{l}{backslash itself} & (ASCII 92) \\ \end{tabular} \texttt{\bs\bs} & \multicolumn{2}{l}{backslash itself} & (ASCII 92) \end{tabular} An ambiguous condition exists if a \bs{} is placed before any character, other than those defined in here. Loading Loading @@ -5835,7 +5833,7 @@ % \end{rationale} %\end{worddef} \enlargethispage{4ex} \begin{worddef}{2295}{TO} \interpret \stack{i*x "<spaces>name"}{} Loading @@ -5856,10 +5854,6 @@ An ambiguous condition exists if \param{name} was not defined by a word with ``TO \param{name} run-time'' semantics. \cbstart\runtime\patch{ed14} \stack{}{}\strike{2}{80} \cbend \note An ambiguous condition exists if any of \word{POSTPONE}, \word{[COMPILE]}, \word{'} or \word{[']} are applied to Loading Loading @@ -6111,6 +6105,9 @@ otherwise append the execution semantics of \param{name}. An ambiguous condition exists if \param{name} is not found. \note This word is obsolescent and is included as a concession to existing implementations. \see \xref[3.4.1 Parsing]{usage:parsing}, \rref{core:[COMPILE]}{}. Loading Loading
core.tex +32 −35 Original line number Diff line number Diff line Loading @@ -116,7 +116,7 @@ \end{testing} \end{worddef} \pagebreak \begin{worddef}{0070}{'}[tick] \item \stack{"<spaces>name"}{xt} Loading Loading @@ -426,7 +426,7 @@ \end{testing} \end{worddef} \newpage \begin{worddef}{0150}{,}[comma] \item \stack{x}{} Loading Loading @@ -552,7 +552,7 @@ \end{testing} \end{worddef} \enlargethispage{4ex} \begin{worddef}{0230}{/}[slash] \item \stack{n_1 n_2}{n_3} Loading Loading @@ -596,7 +596,7 @@ \end{testing} \end{worddef} \enlargethispage{10ex} \begin{worddef}{0240}{/MOD}[slash-mod] \item \stack{n_1 n_2}{n_3 n_4} Loading Loading @@ -718,7 +718,7 @@ \end{testing} \end{worddef} \newpage \begin{worddef}{0320}{2*}[two-star] \item \stack{x_1}{x_2} Loading Loading @@ -1346,7 +1346,7 @@ \wref{core:ALIGN}{}. \end{worddef} \vspace*{-5ex} \begin{worddef}{0710}{ALLOT} \item \stack{n}{} Loading Loading @@ -1464,7 +1464,7 @@ \end{testing} \end{worddef} \enlargethispage{8ex} \begin{worddef}{0770}{BL}[b-l] \item \stack{}{char} Loading Loading @@ -2072,7 +2072,7 @@ \end{testing} \end{worddef} \newpage \begin{worddef}{1360}{EVALUATE} \item \stack{i*x c-addr u}{j*x} Loading Loading @@ -2172,7 +2172,7 @@ \end{testing} \end{worddef} \enlargethispage{4ex} \begin{worddef}{1550}{FIND} \item \stack{c-addr}{c-addr 0 | xt 1 | xt -1} Loading Loading @@ -2408,7 +2408,7 @@ \end{testing} \end{worddef} \enlargethispage{2ex} \begin{worddef}{1700}{IF} \interpret Interpretation semantics for this word are undefined. Loading Loading @@ -2648,8 +2648,7 @@ \end{rationale} \end{worddef} \newpage \begin{worddef}{1760}{LEAVE} \interpret Interpretation semantics for this word are undefined. Loading Loading @@ -2750,6 +2749,7 @@ \rref{core:LOOP}{}. \begin{rationale} % A.6.1.1800 LOOP \enlargethispage{2ex} Typical use: \tab \word{:} \texttt{X} {\ldots} Loading Loading @@ -2976,7 +2976,7 @@ \end{testing} \end{worddef} \enlargethispage{4ex} \begin{worddef}{1910}{NEGATE} \item \stack{n_1}{n_2} Loading Loading @@ -3138,7 +3138,7 @@ \end{implement} \end{worddef} \enlargethispage{4ex} \begin{worddef}[Rfrom]{2060}{R>}[r-from] \interpret Interpretation semantics for this word are undefined. Loading Loading @@ -3781,7 +3781,7 @@ \end{testing} \end{worddef} \newpage \begin{worddef}{2380}{UNLOOP} \interpret Interpretation semantics for this word are undefined. Loading Loading @@ -3898,7 +3898,7 @@ \end{testing} \end{worddef} \newpage \begin{worddef}{2430}{WHILE} \interpret Interpretation semantics for this word are undefined. Loading Loading @@ -4130,7 +4130,7 @@ \end{testing} \end{worddef} \newpage \section{Core extension words} % 6.2 \extended Loading Loading @@ -4244,7 +4244,7 @@ \end{rationale} \end{worddef} \newpage \begin{worddef}[2Rfrom]{0410}{2R>}[two-r-from] \interpret Interpretation semantics for this word are undefined. Loading Loading @@ -4333,8 +4333,7 @@ \tab \word{DEFER} \texttt{print} \\[2ex] \tab \word{:NONAME} \word{p} n -{}- ) \word{d} \word{;} \word{IS} \texttt{print} \note \word{RECURSE} and \word{DOES} \replace{ed14}{shall work}{ are allowed} within a \word{:NONAME} definition. \note \word{RECURSE} and \word{DOES} are allowed within a \word{:NONAME} definition. \end{rationale} \begin{testing} Loading Loading @@ -4682,7 +4681,7 @@ \end{testing} \end{worddef} \newpage \begin{worddef}{0873}{CASE} \interpret Interpretation semantics for this word are undefined. Loading Loading @@ -4792,7 +4791,7 @@ the classic interpreter/com\-piler loop: \begin{quote}\ttfamily \ldots \tab[22] \word{p} c-addr ) \\ \ldots \tab[23.8]\word{p} c-addr ) \\ \word{FIND} \word{qDUP} \word{IF} \tab[17.2] \word{p} xt +-1 ) \\ \tab \word{STATE} \word{@} \word{IF} \tab[17.4] \word{p} xt +-1 ) \\ \tab[2] \word{0more} \word{IF} \ Loading Loading @@ -5179,7 +5178,7 @@ \end{testing} \end{worddef} \newpage \begin{worddef}{1850}{MARKER} \item \stack{"<spaces>name"}{} Loading Loading @@ -5351,7 +5350,7 @@ \begin{enumerate} \item The characters accepted by \word{WORD} must be copied from the input buffer into a \replace{ed14}{temporary}{transient} buffer, copied from the input buffer into a transient buffer, in order to make room for the count character that must be at the beginning of the counted string. The copy step is inefficient, compared to \word{PARSE}, Loading @@ -5359,7 +5358,7 @@ need to copy it anywhere. \item \word{WORD} must be careful not to store too many characters into the \replace{ed14}{temporary}{transient} buffer, thus overwriting characters into the transient buffer, thus overwriting something beyond the end of the buffer. This adds to the overhead of the copy step. (\word{WORD} may have to scan a lot of characters before finding the trailing Loading @@ -5370,7 +5369,7 @@ strings can easily be stored in blocks!). This limitation does not exist for \word{PARSE}. \item The \replace{ed14}{temporary}{transient} buffer is typically overwritten by the \item The transient buffer is typically overwritten by the next use of \word{WORD}. \end{enumerate} Loading Loading @@ -5508,7 +5507,7 @@ \end{rationale} \end{worddef} \vspace*{-6ex} \begin{worddef}{2148}{RESTORE-INPUT} \item \stack{x_n {\ldots} x_1 n}{flag} Loading Loading @@ -5541,7 +5540,7 @@ \end{worddef} % ------------------------------------------------------------------- \enlargethispage{4ex} \begin{worddef}[Seq]{2266}{S\bs"}[s-backslash-quote][X:escaped-strings] \interpret Loading Loading @@ -5577,8 +5576,7 @@ The resulting character is the conversion of these two hexadecimal digits. An ambiguous conditions exists if \texttt{\bs{x}} is not followed by two hexadecimal characters.} \\ \texttt{\bs\bs} & \multicolumn{2}{l}{backslash itself} & (ASCII 92) \\ \end{tabular} \texttt{\bs\bs} & \multicolumn{2}{l}{backslash itself} & (ASCII 92) \end{tabular} An ambiguous condition exists if a \bs{} is placed before any character, other than those defined in here. Loading Loading @@ -5835,7 +5833,7 @@ % \end{rationale} %\end{worddef} \enlargethispage{4ex} \begin{worddef}{2295}{TO} \interpret \stack{i*x "<spaces>name"}{} Loading @@ -5856,10 +5854,6 @@ An ambiguous condition exists if \param{name} was not defined by a word with ``TO \param{name} run-time'' semantics. \cbstart\runtime\patch{ed14} \stack{}{}\strike{2}{80} \cbend \note An ambiguous condition exists if any of \word{POSTPONE}, \word{[COMPILE]}, \word{'} or \word{[']} are applied to Loading Loading @@ -6111,6 +6105,9 @@ otherwise append the execution semantics of \param{name}. An ambiguous condition exists if \param{name} is not found. \note This word is obsolescent and is included as a concession to existing implementations. \see \xref[3.4.1 Parsing]{usage:parsing}, \rref{core:[COMPILE]}{}. Loading