To make the licensing part clear, SPLinT is GPL v.~3:
% Copyright 2012-2014, 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.
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
np.w - scanner and parser for token names
ssffo.w - lexer for state grabbing
mkeparser.w - parser output `driver'
mkscanner.w - lexer output `driver'
splint.w - documentation
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
dcols.sty - multiple column output
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 parser
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
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
Download the contents of this package in one zip archive
splint – Write LALR(1) parsers in TeX using bison and flex
The bundle provides the means of building parsers and scanners in
TeX. Bison and Flex are used to create the
tables that drive the automata programmed as TeX macros.
|License||GNU General Public License, version 3|
|Copyright||2012–2015 Alexander Shibakov|