Commit b8f4308c authored by pknaggs's avatar pknaggs

Initial upload for 07-1 review document

parents
This diff is collapsed.
%%
%% This file will generate fast loadable files and documentation
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
%%
%% IMPORTANT NOTICE:
%%
%% No other permissions to copy or distribute this file in any form
%% are granted and in particular no permission to modify its contents.
%%
%% --------------- start of docstrip commands ------------------
%%
\def\batchfile{answers.ins}
\input docstrip.tex
\preamble
Copyright (C) 1990,1994 Mike Piff, University of Sheffield, England
You are not allowed to change this file.
You are NOT ALLOWED to distribute this file alone. You are NOT
ALLOWED to take money for the distribution or use of this
file except for a nominal charge for copying etc.
Please address any problems to:
M.Piff@shef.ac.uk
For updates, contact your nearest CTAN site.
\endpreamble
\keepsilent
\def\Ask#1#2{\def#1{y}}
\Msg{*** Generating the package file ***}
\generate{\file{answers.sty}{\from{answers.dtx}{answers}}}
\preamble
\endpreamble
\Msg{*** Generating example files ***}
\generate{%
\file{ansexam1.tex}{\from{answers.dtx}{ex1}}
\file{ansexam2.tex}{\from{answers.dtx}{ex2}}
\file{ansexam3.tex}{\from{answers.dtx}{ex3}}
}
\ifToplevel{%
\Msg{***********************************************************}
\Msg{*}
\Msg{* To finish the installation you have to move the file}
\Msg{* answers.sty into a directory searched by TeX:}
\Msg{* To produce the documentation, run the file answers.dtx through LaTeX.}
\Msg{* To see an example, run the file answexam.tex through LaTeX.}
\Msg{***********************************************************}
}
\endinput
This diff is collapsed.
\annex{Alphabetic list of words} % F (informative annex)}}}
\label{annex:index}
In the following list, the last, four-digit, part of the reference
number establishes a sequence corresponding to the alphabetic ordering
of all standard words. The first two or three parts indicate the word
set and glossary section in which the word is defined.
~\par
\makeatletter
% \indexentry{section}{number}{sub}{name}{wordset}{ext}{proposal}{label}[english]
\newcommand{\indexentry}{
\@starfalse
\@ifnextchar*{\alpha@star}{\alpha@entry}
}
\newcommand{\alpha@star}[1]{
\@startrue
\alpha@entry
}
\newlength{\alpha@length}
\ifshowref
\setlength{\alpha@length}{0.2\textwidth}
\else
\setlength{\alpha@length}{0.3\textwidth}
\fi
\newcommand{\alpha@entry}[9]{%
%
% Enable the change bar for * words
%
\if@star\cbstart\fi%
%
% Word Number - Hyper linked to its definition
%
% Section number first
%
\def\Tmp{#2}%
\makebox[5em][r]{\hyperref{}{#5}{#8}{%
#1.\ifx\Tmp\empty\rule[.8ex]{2em}{.5pt}\else#2\fi}}%
%
% Then the word number
%
\def\Tmp{#3}% {12}%
\makebox[2em][l]{%
\ifx\Tmp\empty\else\hyperref{}{#5}{#8}{.#3}\fi}
%
% Standard Extension Proposal
%
\def\Tmp{#7}%
\ifx\Tmp\empty\else
\marginpar{\textsf{\tiny #7}}
\fi%
%
% Word Label - If we are showing reference
%
\ifshowref
\makebox[6em]{%
\def\Tmpa{#8}%
\def\Tmpb{#4}%
\ifx\Tmpa\Tmpb\else\texttt{\small #8}\fi
}%
\fi%
%
% Word Name - Hyperlinked to its definition
%
\makebox[\alpha@length][l]{%
\hyperref{}{#5}{#8}{\textbf{\texttt{#4}}}
\quad
\dotfill
}%
%
% English Pronunciation (if given)
%
\def\Tmp{#9}%
\ifx\Tmp\empty ~\else ``#9''\fi
\dotfill%
%
% Word list
%
\MakeUppercase{#5}%
\def\Tmp{#6}%
\ifx\Tmp\empty\else ~EXT\fi
%
% Page reference
%
\makebox[3em]{\dotfill\pageref{#5:#8}}%
%
% Disable the change bar
%
\if@star\cbend\fi%
\@starfalse
%
% End of line - \par is need to flush the marginpar
%
\par
}
\makeatother
\begingroup
\parskip=0pt
\IfFileExists{\jobname.wds}{
\input{\jobname.wds}
}{
\IfFileExists{\jobname.wrd}{
\begin{center}
\textbf{Unsorted List}
\end{center}
\input{\jobname.wrd}
}{
File not found !
}
}
\endgroup
%%
%% This is file `answers.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% answers.dtx (with options: `answers')
%%
%% Copyright (C) 1990,1994 Mike Piff, University of Sheffield, England
%%
%% You are not allowed to change this file.
%%
%% You are NOT ALLOWED to distribute this file alone. You are NOT
%% ALLOWED to take money for the distribution or use of this
%% file except for a nominal charge for copying etc.
%%
%% Please address any problems to:
%%
%% M.Piff@shef.ac.uk
%%
%% For updates, contact your nearest CTAN site.
%%
\def\fileversion{2.10}
\def\filedate{16 Dec 1997 17:05:29 BST}
\def\filename{answers.dtx}
\def\Copyright{Copyright (C) 1990,1994 Mike Piff,
University of Sheffield, England}
\NeedsTeXFormat{LaTeX2e}[1996/06/01]
\ProvidesPackage{answers}[1996/07/10]
\typeout{Package `answers' <\filedate>.}
\typeout{\Copyright}
\newif\ifanswerfiles \answerfilestrue
\DeclareOption{nosolutionfiles}{\answerfilesfalse
\typeout{No answer files being produced}}%
\ProcessOptions
\RequirePackage{verbatim}
\newcommand{\solutionpoint}{.}
\newcommand{\solutionextension}{tex}
\newenvironment{Filesave}[1]{%
\@bsphack
\def\verbatim@processline{}%
\Iffileundefined{#1}{}{%
\Ifopen{#1}{%
\def\verbatim@processline{%
\Ifanswerfiles{%
\immediate\write\@nameuse{#1@file}%
{\the\verbatim@line}%
}{}%
}%
}{}%
}%
\let\do\@makeother\dospecials
\catcode`\^^M\active \catcode`\^^I=12\relax
\verbatim@start
}{\@esphack}
\newcommand{\Writetofile}[2]{%
\@bsphack
\Iffileundefined{#1}{}{%
\Ifopen{#1}{%
{%
\let\protect\string
\Ifanswerfiles{%
\immediate\write\@nameuse{#1@file}{#2}%
}{}%
}%
}{}%
}%
\@esphack
}
\newcommand{\Ifopen}[3]{%
\csname if#1open\endcsname#2\else#3\fi}%
\newcommand{\Iffileundefined}[3]{%
\csname ifx\expandafter\endcsname
\csname #1@file\endcsname\relax
#2\else#3\fi}
\newcommand{\Ifanswerfiles}[2]{%
\ifanswerfiles #1\else #2\fi}
\def\Opensolutionfile#1{%
\@ifnextchar[{\define@filename{#1}}%
{\define@filename{#1}[#1]}}%
\def\define@filename#1[#2]{%
\global\@namedef{#1@filename}{#2\solutionpoint\solutionextension}%
\Ifanswerfiles{%
\typeout{Output from handle #1 going
to #2.\solutionextension}%
}{}%
\Iffileundefined{#1}{%
\expandafter\newwrite\csname #1@file\endcsname
\csname newif\expandafter\endcsname
\csname if#1open\endcsname
\global\csname #1openfalse\endcsname
\expandafter\ifx\csname Open#1hook\endcsname\relax
\global\@namedef{Open#1hook}##1{}%
\fi
\expandafter\ifx\csname Close#1hook\endcsname\relax
\global\@namedef{Close#1hook}##1{}%
\fi
}{}%
\let\Tmp\relax
\Ifopen{#1}{\typeout{File #1 already open}}{%
\Ifanswerfiles{%
\immediate\openout\@nameuse{#1@file}=%
\@nameuse{#1@filename}%
}{}%
\global\csname#1opentrue\endcsname
\def\Tmp{\@nameuse{Open#1hook}{#1}}%
}%
\Tmp
}
\def\Closesolutionfile#1{%
\let\Tmp\relax
\Iffileundefined{#1}{}{%
\Ifopen{#1}{%
\Ifanswerfiles{%
\immediate\closeout\@nameuse{#1@file}%
}{}%
\global\csname #1openfalse\endcsname
\def\Tmp{\@nameuse{Close#1hook}{#1}}%
}{}%
}%
\Tmp
}
\def\Readsolutionfile#1{%
\Ifanswerfiles{%
\Iffileundefined{#1}{}{%
\Ifopen{#1}{%
\typeout{WARNING: attempt to read open file #1}%
}{%
\edef\Tmp{%
\noexpand\InputIfFileExists
{\@nameuse{#1@filename}}{}%
{\noexpand\message{File
\@nameuse{#1@filename}%
\space not found}}%
}%
\Tmp
}%
}%
}{}%
}
\newcommand{\Newassociation}[3]{%
\newsolution{#2}%
\expandafter\ifx\csname #3opentrue\endcsname\relax
\expandafter\newif\csname if#3open\endcsname
\fi
\newenvironment{#1}{%
\Ifanswerfiles{%
\let\Tmp\relax
\Iffileundefined{#3}{}{%
\Ifopen{#3}{%
\immediate\write\@nameuse{#3@file}%
{\string\begin{#2}\@nameuse{#2params}}%
\def\Tmp{\Filesave{#3}}%
}{}%
}%
}{%
\edef\Tmp{\noexpand\begin{#2}\@nameuse{#2params}}%
}%
\csname pre#1\endcsname
\Tmp
}%
{%
\Ifanswerfiles{%
\Iffileundefined{#3}{}{%
\Ifopen{#3}{%
\endFilesave%
\immediate\write\@nameuse{#3@file}%
{\string\end{#2}}%
\csname post#1\endcsname
}{}%
}%
}{%
\end{#2}%
}%
}%
}
\newcommand{\newsolution}[1]{%
\@ifundefined{#1}{%
\global\@namedef{#1params}{{\Currentlabel}}%
\newenvironment{#1}[1]%
{%
\csname pre#1\endcsname
\trivlist
\item[\hskip\itemsep{\@nameuse{#1label}{##1}}]}%
{\csname post#1\endcsname\endtrivlist}%
\global\@namedef{#1label}##1{\solutionstyle{##1}}%
}{\typeout{WARNING: environment #1 already in use}}%
}
\newcommand{\solutionstyle}[1]{\textbf{#1}}
\newcommand{\Currentlabel}{\@currentlabel}
\endinput
%%
%% End of file `answers.sty'.
This diff is collapsed.
basic.png

11.4 KB

\annex{Bibliography} % B
\label{annex:bib}
\begin{description}
\item[Industry standards]~
\emph{Forth-77 Standard}, Forth Users Group, FST-780314. \\
\emph{Forth-78 Standard}, Forth International Standards Team. \\
\emph{Forth-79 Standard}, Forth Standards Team. \\
\emph{Forth-83 Standard} and Appendices, Forth Standards Team.
The standards referenced in this section were developed by the
Forth Standards Team, a volunteer group which included both
implementors and users. This was a volunteer organization operating
under its own charter and without any formal ties to ANSI, IEEE or
any similar standards body.
\remove{x:forward}{Several members of the Forth Standards
Team have also been members of the X3J14 Technical Committee.}
\place{x:forward}{%
The following standards where developed under the auspices of
ANSI. The committee drawing up the ANSI standard included
several members of the Forth Standards Team.}
\place{x:forward}{%
\emph{ANSI X3.215-1994 Information Systems --- Programming Language FORTH}} \\
\place{x:forward}{%
\emph{ISO/IEC 15145:1997 Information technology. Programming languages. FORTH}} \\
\item[Books]~
\begin{description}
\item Brodie, L.
\emph{Starting FORTH} (2nd ed).
Englewood Cliffs, NJ: Prentice Hall, 1987.
\item Brodie, L.
\emph{Thinking FORTH}.
Englewood Cliffs, NJ: Prentice Hall, 1984.
\item Feierbach, G. and Thomas, P.
\emph{Forth Tools \& Applications}.
Reston, VA: Reston Computer Books, 1985.
\item Haydon, Dr. Glen B.
\emph{All About FORTH, Third Edition}.
La Honda, CA: 1990.
\item Kelly, Mahlon G. and Spies, N.
\emph{FORTH: A Text and Reference}.
Englewood Cliffs, NJ: Prentice Hall, 1986.
\item Knecht, K.
\emph{Introduction to Forth}.
Indiana: Howard Sams \& Co., 1982.
\item Koopman, P.
\emph{Stack Computers, The New Wave}.
Chichester, West Sussex, England: Ellis Horwood Ltd. 1989
\item Martin, Thea, editor.
\emph{A Bibliography of Forth References, Third Edition}.
Rochester, New York: Institute of Applied Forth Research, 1987.
\item McCabe, C. K.
\emph{Forth Fundamentals} (2 volumes).
Oregon: Dilithium Press, 1983.
\item Pountain, R.
\emph{Object Oriented Forth}.
London, England: Academic Press, 1987.
\item Ouverson, Marlin, editor.
\emph{Dr. Dobbs Toolbook of Forth}.
Redwood City, CA: M\&T Press, Vol. 1, 1986; Vol. 2, 1987.
\item Terry, J. D.
\emph{Library of Forth Routines and Utilities}.
New York: Shadow Lawn Press, 1986.
\item Tracy, M. and Anderson, A.
\emph{Mastering FORTH} (revised ed).
New York: Brady Books, 1989.
\item Winfield, A.
\emph{The Complete Forth}.
New York: Wiley Books, 1983.
\end{description}
\item[Journals, magazines and newsletters]~
\begin{description}
\item Forsley, Lawrence P., Conference Chairman.
\emph{Rochester Forth Conference Proceedings}.
Rochester, New York: Institute of Applied Forth Research, 1981 to present.
\item Forsley, Lawrence P., Editor-in-Chief.
\emph{The Journal of Forth Application and Research}.
Rochester, New York: Institute of Applied Forth Research, 1983 to present.
\item Frenger, Paul, editor.
\emph{SIGForth Newsletter}.
New York, NY: Association for Computing Machinery, 1989 to present.
\item Ouverson, Marlin, editor.
\emph{Forth Dimensions}.
San Jose, CA: The Forth Interest Group, 1978 to present.
\item Reiling, Robert, editor.
\emph{FORML Conference Proceedings}.
San Jose, CA: The Forth Interest Group, 1980 to present.
\item Ting, Dr. C. H., editor.
\emph{More on Forth Engines}.
San Mateo, CA: Offete Enterprises, 1986 to present.
\end{description}
\item[Selected articles]~
\begin{description}
\item Hayes, J.R.
``Postpone''
\emph{Proceedings of the 1989 Rochester Forth Conference}.
Rochester, New York: Institute for Applied Forth Research, 1989.
\item Kelly, Guy M.
``Forth''.
\emph{McGraw-Hill Personal Computer Programming Encyclopedia
--- Languages and Operation Systems}.
New York: McGraw-Hill, 1985.
\item Kogge, P. M.
``An Architectural Trail to Threaded Code Systems''.
\emph{IEEE Computer} (March, 1982).
\item Moore, C. H.
``The Evolution of FORTH --- An Unusual Language''.
\emph{Byte} (August 1980).
\item Rather, E. D.
``Forth Programming Language''.
\emph{Encyclopedia of Physical Science \& Technology} (Vol. 5).
New York: Academic Press, 1987.
\item Rather, E. D.
``FORTH''.
\emph{Computer Programming Management}.
Auerbach Publishers, Inc., 1985.
\item Rather, E. D.; Colburn, D. R.; Moore, C. H.
``The Evolution of Forth''.
\emph{ACM SIGPLAN Notices} (Vol. 28, No. 3, March 1993).
\end{description}
\end{description}
This diff is collapsed.
\annex{Change Log} % F (informative annex)}}}
\label{annex:changelog}
\begin{description}
\item[05]
Original document based on the dpANS99a basis document distributed
as part of the review undertaken by the X3/X3J14 TC in 1999.
\item[06.1]
Included changes approved at the Santander meeting, 21--23 October,
2005:
\begin{enumerate}
\item[1] Introduction
\begin{enumerate}
\item Added reference to the validation suite in annex F.
\item Annex F (Alphabetic list of words) now annex G.
\end{enumerate}
\item[2] Terms, notations and references:
\begin{enumerate}
\item Added ``Extension Designator'' to description of the
glossary index line.
\end{enumerate}
\item[3] Usage Requirements
\begin{enumerate}
\item Added \textsf{X:extension-query} proposal:
Section \xref{usage:extensions}, including table
\xref{table:extensions}.
\end{enumerate}
\item[4] Documentation requirements
\begin{enumerate}
\item Added \textsf{X:deferrd} ambiguous conditions.
\end{enumerate}
\item[6] Glossary
\begin{enumerate}
\item Added ``validation'' section to glossary entries, taken
from John Hayes' tester suite.
\item Added \textsf{X:deferred} proposal:
\wref{core:ACTION-OF}{ACTION-OF},
\wref{core:DEFER}{DEFER},
\wref{core:DEFER!}{DEFER!},
\wref{core:DEFER@}{DEFER@} and
\wref{core:IS}{IS}.
\item Added \textsf{X:parse-name} proposal:
\wref{core:PARSE-NAME}{PARSE-NAME}.
\end{enumerate}
\item[15] Tools Word Set
\begin{enumerate}
\item Added \textsf{X:defined} proposal:
\wref{tools:[DEFINED]}{[DEFINED]} and
\wref{tools:[UNDEFINED]}{[UNDEFINED]}.
\end{enumerate}
\item[F] Added the ``Validation'' annex, with John Hayes'
introduction to his tester suite.
\item[G] Annex F (Alphabetic list of words) now annex G.
\end{enumerate}
\item[06.2]
\begin{enumerate}
\item Added validation and reference implementations for new words:
\wref{core:ACTION-OF}{ACTION-OF},
\wref{core:DEFER}{DEFER},
\wref{core:DEFER!}{DEFER!},
\wref{core:DEFER@}{DEFER@},
\wref{core:IS}{IS},
\wref{core:PARSE-NAME}{PARSE-NAME},
\wref{tools:[DEFINED]}{[DEFINED]} and
\wref{tools:[UNDEFINED]}{[UNDEFINED]}.
\item Annex G was sorted numerically, this was changed to a full
Alphabetical sort.
\end{enumerate}
\item[07.1]
Included changes approved at the Cambridge meeting,
14--15 September, 2006:
\begin{itemize}
\item Significant reworking of \LaTeX{} source with a view to
publication of source code, and to ease the parsing of the
document source.
\item Added new ``Forward'' and ``Proposals Process'' as defined
in \textsf{X:forward}.
\item Replaced ``X3 Membership'' with ``200\emph{x} Membership'' as
defined in \textsf{X:forward}.
\item[3] Usage Requirements
\begin{enumerate}
\item Added
\textsf{X:defined},
\textsf{X:ekeys} and
\textsf{X:required}
to table \xref{table:extensions}
\end{enumerate}
\item[4] Documentation requirements
\begin{enumerate}
\item Added ambiguous conditions for \textsf{X:required} proposal.
\item Altered ambiguous conditions for \textsf{X:to} proposal.
\end{enumerate}
\item[6] Glossary
\begin{enumerate}
\item Renamed ``Validation'' section to ``Testing''.
\item Reference implementations labelled with ``Implementation''.
\item Replaced ``gotten'' with ``become'' in rationale of
\ref{core:MARKER}{MARKER}.
\item Applied \textsf{X:to} proposal:
\wref{core:TO}{TO} and \wref{core:VALUE}{VALUE}.
\end{enumerate}
\item[10] Added \textsf{X:ekeys} proposal:
\wref{facility:EKEYtoFKEY}{EKEY>FKEY},
\wref{facility:K-DELETE}{K-DELETE},
\wref{facility:K-DOWN}{K-DOWN},
\wref{facility:K-END}{K-END},
\wref{facility:K-HOME}{K-HOME},
\wref{facility:K-INSERT}{K-INSERT},
\wref{facility:K-LEFT}{K-LEFT},
\wref{facility:K-NEXT}{K-NEXT},
\wref{facility:K-PRIOR}{K-PRIOR},
\wref{facility:K-RIGHT}{K-RIGHT},
\wref{facility:K-UP}{K-UP},
\wref{facility:K-ALT-MASK}{K-ALT-MASK},
\wref{facility:K-CTRL-MASK}{K-CTRL-MASK},
\wref{facility:K-SHIFT-MASK}{K-SHIFT-MASK},
\wref{facility:K-F1}{K-F1},
\wref{facility:K-F2}{K-F2},
\wref{facility:K-F3}{K-F3},
\wref{facility:K-F4}{K-F4},
\wref{facility:K-F5}{K-F5},
\wref{facility:K-F6}{K-F6},
\wref{facility:K-F7}{K-F7},
\wref{facility:K-F8}{K-F8},
\wref{facility:K-F9}{K-F9},
\wref{facility:K-F10}{K-F10},
\wref{facility:K-F11}{K-F11} and
\wref{facility:K-F12}{K-F12}.
\item[11] Added \textsf{X:required} proposal:
\wref{file:INCLUDED}{INCLUDED},
\wref{file:REQUIRE}{REQUIRE},
\wref{file:REQUIRED}{REQUIRED} and
\wref{file:INCLUDE}{INCLUDE}.
\item[13]
Applied \textsf{X:to} proposal:
Abmiguous condition,
\wref{local:LOCAL},
\wref{local:TO}{TO} and
\wref{local:LOCALS}.
\item[B] Added ANSI X3.215-1994 \emph{ANS Forth} and
ISO/IEC 15145:1997 \emph{ISO Forth} to
``Industry standards'' (\textsf{X:forward}).
\item[F] Added John Hayes' core test suite, changing the
introduction in the process.
\item[G] Added this Change Log.
\item[H] Original annex F (alphabetic list of words) is now
annex H.
\end{itemize}
\item[To Do] ~\\
\begin{itemize}
\item Separate FP stack
\end{itemize}
\end{description}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
\chapter*{Foreword \place{x:forward}{to ANS Forth}}
\addcontentsline{toc}{section}{Forward \string\place{x:forward}{to ANS Forth}}