Comprehensive TeX Archive Network

Direc­tory tex-archive/support/splint

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
% 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). 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, flex.sty - automata machinery
    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: 
    expression - a simple expression parser built with the package.
    xxpression - an extended version of the example above, with a
        demonstration of symbolic name mechanism setup.
    symbols - a demonstration of the features of the bison parser
        included in the package.
    count - an example of robust token counting macros.
    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

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
VERSION - the current version
TODO - plans for future development
README - this file

The most recent version of this software can be downloaded at



Name Notes


Name Size Date Notes
COPYING 35147 2014-07-22 02:36
INSTALL 1714 2014-07-22 02:36
Make­file 1066 2014-07-22 02:36
README 3135 2014-07-22 02:36
TODO 798 2014-07-22 02:36
VERSION 5 2014-07-22 02:36
make­file.inc 1921 2014-07-22 02:36
make­file.loc 31 2014-07-22 02:36
splint.pdf 796446 2014-07-22 02:36

Down­load the con­tents of this pack­age in one zip archive (956.1k).

splint – Write LALR(1) parsers in TeX us­ing bi­son and flex

The bun­dle pro­vides the means of build­ing parsers and scan­ners in TeX. Bi­son and Flex are used to cre­ate the ta­bles that drive the au­tomata pro­grammed as TeX macros.

Pack­age De­tailssplint
Ver­sion1.03 2014-07-21
Li­censeGNU Gen­eral Public Li­cense, ver­sion 3
Main­tainerAlexan­der Shibakov
Topics parser ap­pli­ca­tion
Guest Book Sitemap Contact Contact Author