12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- $Id$
- texinfo/tp/README
- Copyright 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved.
- Texinfo::Parser (hence the directory name tp) is a Perl module for
- parsing Texinfo code into a tree representing the Texinfo code
- structure.
- These other modules and libraries are required (all have been standard
- parts of Perl for years, at least since 5.7.3):
- Carp, Config, Data::Dumper, Encode, File::Basename, File::Spec
- Getopt::Long, Unicode::Normalize, Storable
- It also uses the less widely-available modules:
- Locale::Messages, Unicode::EastAsianWidth, Text::Unidecode
- For these, internal versions are included, and are installed and used as
- part of Texinfo (not disturbing the Perl installation at all).
- To run the tests you also need:
- Test::More, Data::Compare, Test::Deep
- On Debian-based distros, Test::More is part of perl-modules and thus
- installed with perl, the packages corresponding to the other modules
- are named:
- libdata-compare-perl libtest-deep-perl
- The tests are in the subdirectories t/ and test/. The tests in t/ test
- the Perl modules used by the makeinfo command, and the tests in test/
- test the command itself.
- This module is part of GNU Texinfo. A standalone Perl module may also be
- produced from within the the Texinfo tree, using
- ./maintain/prepare_perl_standalone_module_archive.sh
- The resulting module, although standalone, should always be regenerated
- from the sources in Texinfo, to avoid divergence of sources.
- If you want to delve into making a new backend, the documentation in
- tp/Texinfo/Convert/Converter.pm is a good starting point, as it
- describes the existing backends and other places to look. To do a good
- job, expect to spend a lot of time making it do the right thing with the
- existing tests.
- tp builds a complicated parse tree. It can output a lot of debug
- information about the tree, and what it's doing generally. For example,
- these commands output the tree (in different forms):
- makeinfo -c DUMP_TREE=1 -c TEXINFO_OUTPUT_FORMAT=parse document.texi
- makeinfo -c TEXINFO_OUTPUT_FORMAT=debugtree document.texi
- In addition (or instead) setting the DEBUG configuration variable will
- dump more information about what it's doing.
|