From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 2 Sep 2019 13:46:59 +0900
Subject: Initial commit

---
 info/ltx3pub/vt11d01.tex | 218 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 218 insertions(+)
 create mode 100644 info/ltx3pub/vt11d01.tex

(limited to 'info/ltx3pub/vt11d01.tex')

diff --git a/info/ltx3pub/vt11d01.tex b/info/ltx3pub/vt11d01.tex
new file mode 100644
index 0000000000..83fb8bc4bf
--- /dev/null
+++ b/info/ltx3pub/vt11d01.tex
@@ -0,0 +1,218 @@
+%%% ====================================================================
+%%%  @LaTeX3-article{ LaTeX3-VT11-01,
+%%%  filename        = "vt11d01.tex",
+%%%  archived        = "ctan:/tex-archive/info/ltx3pub/",
+%%%  author          = "Mike Piff",
+%%%  doc-group       = "Volunteer task VT11",
+%%%  title           = "Backus-Naur form in {\LaTeX3}",
+%%%  version         = "1.03",
+%%%  date            = "02 April 1993",
+%%%  time            = "22:49:47 GMT",
+%%%  status          = "public, contributed.",
+%%%  author-email    = "M.Piff@sheffield.ac.uk",
+%%%  author-address  = "Department of Pure Mathematics \\
+%%%                     University of Sheffield        \\
+%%%                     Hicks Building                 \\
+%%%                     Hounsfield Road                \\
+%%%                     SHEFFIELD S3 7RH               \\
+%%%                     England",
+%%%  abstract        = "",
+%%%  keywords        = "",
+%%%  project-address = "LaTeX3 Project            \\
+%%%                     c/o Dr. Chris Rowley      \\
+%%%                     The Open University       \\
+%%%                     Parsifal College          \\
+%%%                     Finchley Road             \\
+%%%                     London NW3 7BG, England, UK",
+%%%  project-tel     = "+44 171 794 0575",
+%%%  project-FAX     = "+44 171 433 6196",
+%%%  project-email   = "LTX3-Mgr@SHSU.edu",
+%%%  copyright       = "Copyright (C) 1993 LaTeX3 Project
+%%%                     and Mike Piff.
+%%%                     All rights reserved.
+%%%
+%%%                     Permission is granted to make and distribute
+%%%                     verbatim copies of this publication or of
+%%%                     coherent parts from this publication provided
+%%%                     this copyright notice and this permission
+%%%                     notice are preserved on all copies.
+%%%
+%%%                     Permission is granted to copy and distribute
+%%%                     translations of this publication or of
+%%%                     individual items from this publication into
+%%%                     another language provided that the translation
+%%%                     is approved by the original copyright holders.
+%%%
+%%%                     No other permissions to copy or distribute this
+%%%                     publication in any form are granted and in
+%%%                     particular no permission to copy parts of it
+%%%                     in such a way as to materially change its
+%%%                     meaning.",
+%%%  generalinfo     = "To subscribe to the LaTeX3 discussion list:
+%%%
+%%%                      Send mail to listserv@vm.urz.uni-heidelberg.de
+%%%                      with the following line as the body of the
+%%%                      message (substituting your own name):
+%%%
+%%%                        subscribe LaTeX-L First-name Surname
+%%%
+%%%                     To find out about volunteer work:
+%%%
+%%%                      look at the document vol-task.tex which can
+%%%                      be obtained electronically, see below.
+%%%
+%%%                     To retrieve project publications electronically:
+%%%
+%%%                      Project publications are available for
+%%%                      retrieval by anonymous ftp from ctan hosts:
+%%%                          ftp.tex.ac.uk
+%%%                          ftp.dante.de
+%%%                          ftp.shsu.edu
+%%%                      in the directory /tex-archive/info/ltx3pub.
+%%%
+%%%                      The file ltx3pub.bib in that directory gives
+%%%                      full bibliographical information including
+%%%                      abstracts in BibTeX format.  A brief history
+%%%                      of the project and a description of its aims
+%%%                      is contained in l3d001.tex.
+%%%
+%%%                     If you only have access to email, and not ftp
+%%%                      You may use the ftpmail service.
+%%%                      Send a message just containg the word
+%%%                          help
+%%%                      to ftpmail@ftp.shsu.edu
+%%%                      for more information about this service.
+%%%
+%%%                     For offers of financial contributions or
+%%%                      contributions of computing equipment or
+%%%                      software, contact the project at the above
+%%%                      address, or the TeX Users Group.
+%%%
+%%%                     For offers of technical assistance, contact the
+%%%                      project at the above address.
+%%%
+%%%                     For technical enquiries and suggestions, send
+%%%                      e-mail to the latex-l list or contact the
+%%%                      project at the above address.",
+%%%  checksum        = "60525 218 1235 10548",
+%%%  docstring       = "The checksum field above contains a CRC-16
+%%%                     checksum as the first value, followed by the
+%%%                     equivalent of the standard UNIX wc (word
+%%%                     count) utility output of lines, words, and
+%%%                     characters.  This is produced by Robert
+%%%                     Solovay's checksum utility.",
+%%%  }
+%%% ====================================================================
+\documentstyle[bnf]{l3ms001}
+%% This needs the style option bnf.sty
+%% Latest version         1.05
+%% Date            09 Feb 1993
+%%
+\begin{document}
+\title{Backus-Naur form in \LaTeX3}
+\author{Coordinator: Mike Piff}
+\date{02 April 1993 \\
+Version 1.03}
+\maketitle
+\begin{bnf}
+\section*{Objectives}
+\begin{enumerate}
+   \item Create environments and commands to produce the symbolism of
+      BNF notation in mathematics.
+   \item Provide easy mechanisms for customizing this notation.
+   \item Provide short forms which are close to the teletype way of
+      representing BNF, by means of a $"bnf"$ environment.
+   \item Try not to disable too many features of \LaTeX\ when the short
+      forms are in operation.
+\end{enumerate}
+
+\section*{Rationale}
+
+The whole notation of Backus-Naur Form seems to  be
+deeply mathematical. Some examples:
+\begin{itemize}
+   \item Use of $\lbrace$ and $\rbrace$, round and square brackets.
+   \item Variable names such as $w$ for a word, $\cal A$ for an
+         alphabet,  etc.
+   \item Subscripting, eg, $w_1<X>w_2 -> w_1 w w_2$.
+   \item Use of $\Production$, $\Yields$ and $\Yields^*$ for productions
+      and yields, and $|$ for alternatives.
+\end{itemize}
+We should also consider the spacing problems that doing these
+in text mode would entail.
+
+The BNF notation is really part of the mathematical notation for
+specifying a phrase structure grammar.  It is a means of simplifying
+groups of productions into one compound production, and thus
+decreasing the apparent complexity of its structure.  This is the
+reason why things should be set up so that BNF is only available
+within maths mode.
+
+It is also perhaps true that BNF should not be considered in isolation
+from the requirements of the body of mathematical notations into which
+it fits. There is also a clear link with the task looking at short forms
+in mathematics. One point which was discovered in writing a preliminary
+version of the macros was the dangers involved in making $"-"$ active in
+mathematics, because of the way long arrows had been defined in plain \TeX!
+
+\section*{Specification}
+
+The following should happen in maths mode.
+   \begin{enumerate}
+      \item The environment $"NonTerminal"$ should produce the text
+         between $"\begin{NonTerminal}"$ and $"\end{NonTerminal}"$
+         enclosed between angle brackets, thus:
+         $$<enclosed text>.$$
+         Spaces in the enclosed text should be respected, but not made
+         visible. The maths font used between the angle brackets should
+         be customizable through the command $"\NonTerminalStyle"$.
+         The default should be $"fam0"$, that is, ordinary roman.
+      \item The command $"\Terminal"<char>"string"<char>$  should produce
+         the enclosed string exactly as if it had been produced by \LaTeX'
+         $"\verb*"$ command, except that it is preceded and followed
+         by the expansion of $"\PreTerminal"$ and $"\PostTerminal"$
+         respectively.
+      \item The environments $"Star"$, $"Optional"$ and $"Bracket"$
+         should put paired braces, square brackets and round brackets
+         respectively
+         around the enclosed text.
+         Spaces of $"\StarSpace"$, $"\OptionalSpace"$ and $"\BracketSpace"$
+         respectively should precede and follow the environment.
+      \item The commands $"\Production"$, $"\Yields"$ and $"\OR"$
+         should produce the special symbols $->$, $=>$ and $|$
+         respectively, the first two being relations and the last an
+         operator. The $"\Empty"$ command should produce the
+         symbol $\Empty$.
+      \item A special environment $"bnf"$ should have the effect of making
+         the short forms of these commands available in maths mode.
+         This environment should be capable of spanning many paragraphs,
+         and should only affect the meaning of certain symbols in maths
+         mode. These are:
+         $$"`",`"`,"(",")","<",">","[","]","-","=","|","@".$$
+         The effects should be as follows.
+         \begin{enumerate}
+            \item $"`string`"$ and $`"string"`$ should produce the effect
+               of a $"\Terminal"$ command.
+            \item $"<"N">"$ should produce the effect of a $"NonTerminal"$
+               environment.
+               The following symbols should be rejected as part of
+               $N$, so as to allow some error detection.
+               $$"[","]","(",")","|","<","=".$$
+               The symbol $"-"$ should be interpreted as a hyphen.
+
+               The symbols $@<$ and $@>$ should be made available
+               as $"\lt"$ and $"\gt"$, or alternatively as $"@<"$
+               and $"@>"$.
+            \item $"("E")"$ and $"["E"]"$ should produce the same effects as
+               the $"Bracket"$ and $"Optional"$ environments.
+            \item $"->"$ and $"=>"$ should produce $->$ and $=>$,
+               otherwise $"-"$ and $"="$ should behave normally.
+               $"|"$ should produce $|$.
+            \item $"{@"E"}"$ should produce ${@E}$.
+               It would be preferable for $"{"E"}"$ to produce this effect,
+               but that would probably entail not allowing braces to appear
+               in a $"bnf"$ environment other than for this purpose.
+         \end{enumerate}
+   \end{enumerate}
+\end{bnf}
+\end{document}
-- 
cgit v1.2.3

