On Fri, Feb 21, 2025 at 07:32:25PM +0000, Gavin Smith wrote:
> I'm not sure that the whole paragraph about a "reference implementation"
> is particularly relevant either.
Here is another attempt, with a separate section added for the
discussion or Texinfo processors, Texinfo parsing and doing a new
parser.
--
Pat
diff --git a/doc/texinfo.texi b/doc/texinfo.texi
index cfade53df4..3f2b6e43ae 100644
--- a/doc/texinfo.texi
+++ b/doc/texinfo.texi
@@ -506,15 +506,6 @@ @node Adding Output Formats
representation of the input, but without the Texinfo syntax and option
peculiarities, as described above.
-@cindex Texinfo parsers, discouraging more
-If you still cannot resist the temptation of writing a new program
-that reads Texinfo source directly, let us give some more caveats:
-please do not underestimate the amount of work required. Texinfo is
-by no means a simple language to parse correctly, and remains under
-development, so you would be committing to an ongoing task. You
-are advised to check that the tests of the language that come with
-@command{texi2any} give correct results with your new program.
-
@cindex Man page output, not supported
From time to time, proposals are made to generate traditional Unix man
pages from Texinfo source. However, because man pages have a strict
@@ -536,6 +527,36 @@ @node Adding Output Formats
@uref{http://www.gnu.org/software/help2man}.
+@node Texinfo Processors
+@section Texinfo Processors
+
+@cindex @command{texi2any}, as reference implementation
+@cindex Reference implementation
+@cindex Implementation, @command{texi2any} as reference
+@anchor{Reference Implementation}@c
+The generic @command{texi2any} translator for Texinfo is intended to be a
+reference implementation that defines parts of the language not fully specified
+by the manual. Without reference, Texinfo documents parsing could become
+dependent on the processor. It is also desirable to have consistent
+command-line options for all processors.
+
+Two other processors are documented
+in the manual, the Texinfo @file{texinfo.tex}
+used together with @TeX{} for printed books (@pxref{Hardcopy with @TeX{}}),
+and Emacs Texinfo mode commands (@pxref{@code{texinfo-format} commands}).
+
+@cindex Texinfo language tests
+@cindex Tests, of Texinfo language
+@cindex Texinfo parsers, discouraging more
+These processors should cover most needs. If you still cannot resist the
+temptation of writing a new program that reads Texinfo source directly, let us
+give some more caveats: please do not underestimate the amount of work
+required. Texinfo is by no means a simple language to parse correctly, and
+remains under development, so you would be committing to an ongoing task. You
+are advised to check that the Texinfo code of tests of the language that come
+withe @command{texi2any} give correct results with your new program.
+
+
@node History
@nodedescription Acknowledgements, contributors and genesis.
@section History
@@ -670,21 +691,6 @@ @node History
@command{texi2any} C implementation embeds a Perl interpreter for the parts
that require Perl.
-@cindex @command{texi2any}, as reference implementation
-@cindex Reference implementation
-@cindex Implementation, @command{texi2any} as reference
-@cindex Texinfo language tests
-@cindex Tests, of Texinfo language
-@anchor{Reference Implementation}@c
-@command{texi2any} is intended to be a reference implementation
-that defines parts of the language not fully specified by the manual.
-Without reference, Texinfo documents parsing could become dependent
-on the processor. It is also desirable to have consistent command-line options
-for all processors. Extensive tests of the language and processor are
-developed with @command{texi2any}; we encourage anyone thinking
-of writing a program to parse Texinfo input to verify the correctness
-of parsing Texinfo code used in these tests.
-
@node Writing a Texinfo File
@anchor{Beginning and Ending a File}@c old name