Index of /archives/text/CTAN/support/splint
Name Last modified Size Description
Parent Directory -
tex/ 2024-01-30 22:41 -
scripts/ 2024-01-30 22:41 -
other/ 2024-01-30 22:41 -
makefile.loc 2024-01-30 22:41 242
makefile.inc 2024-01-30 22:41 3.9K
examples/ 2024-01-30 22:41 -
doc/ 2024-01-30 22:44 -
cweb/ 2024-01-30 22:44 -
VERSION 2024-01-30 22:41 6
TODO 2024-01-30 22:41 2.5K
README 2024-01-30 22:41 3.6K
Makefile 2024-01-30 22:41 2.7K
INSTALL 2024-01-30 22:41 4.5K
COPYING 2024-01-30 22:41 34K
To make the licensing part clear, SPLinT is GPL v.~3:
% Copyright 2012-2022, Alexander Shibakov
% This file is part of SPLinT
%
% SPLinT is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% SPLinT is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with SPLinT. If not, see <http://www.gnu.org/licenses/>.
SPLinT is a \TeX\ package for building parsers and scanners in
\TeX. Bison and Flex are used to create the tables that drive the
automata programmed as \TeX\ macros (thus, after the parser/scanner
has been completed it can be used in plain \TeX, without invoking any
outside software). The documentation included with the package has a
detailed description of the features of the produced parsers and
scanners. To get started, run `make' to create a manual (which can be
found as cweb/splint.pdf in the cweb/ directory) and take a look at the
`examples' directory. Here is a short
description of the various files included in the collection.
Files:
cweb/* - executables and documentation:
bs.w - Bison Sourcer(er): table code core for bison
fk.w - Flex Kit(ten): table code core for flex
common.w - common code for table generators
bo.w - parser for the bison grammar
lo.w - lexer for the bison grammar
fo.w - parser for the flex grammar
so.w - lexer for the flex grammar
np.w - scanner and parser for token names
mkeparser.w - parser output `driver'
mkscanner.w - lexer output `driver'
splint.w - documentation
philosophy.w - rants
checklists.w - checklists to follow when modifying SPLinT
tex/* - \TeX\ macros
yy*.sty, yx*.sty, flex.sty - automata machinery
trt1.sty - `\TeX\ runtime': temporary register definitions
xarithm.sty - expandable arithmetic for parsing macros
grabstates.sty - macros for state grabbing
*tokenset.sty - token typesetting definitions
gindex.sty - generic indexing macros
dcols.sty - multiple column output
noweb.sty - noweb style references (local within a page)
limbo.sty - limbo section macros
frontmatter.sty - macros to typeset the cover page
examples/* - various examples:
count - an example of robust token counting macros.
expression - a simple expression parser built with the package.
ld - a typesetting parser for the \GNU\ linker, ld, with a very
detailed implementation manual.
symbols - a demonstration of the features of the bison and flex
parsers included in the package.
types - expandable arithmetic (e.g. addition and subtraction
macros that can be used inside \edef), tree data structure;
incomplete and slow, merely a proof of concept; only
standard plain \TeX\ is used
xxpression - an extended version of the `expression'
example above, with a demonstration of symbolic name
mechanism setup.
scripts/* - helper (perl, for now) scripts to aid in pre- and
post-processing of various files
makefile.inc - common definitions
makefile.loc - placeholder file for local make rules
COPYING - license information
INSTALL - cursory instalation notes
README - this file
TODO - plans for future development
VERSION - the current version
The most recent version of this software can be downloaded at
www.shibakov.org/splint/archive/splint.tar.bz2