]> Devi Nivas Git - cs3210-lab1.git/commitdiff
goodbye lgrind
authorrsc <rsc>
Wed, 6 Sep 2006 19:11:57 +0000 (19:11 +0000)
committerrsc <rsc>
Wed, 6 Sep 2006 19:11:57 +0000 (19:11 +0000)
lgrind.sty [deleted file]
lgrindef [deleted file]

diff --git a/lgrind.sty b/lgrind.sty
deleted file mode 100644 (file)
index 0479e7f..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-%%
-%% This is file `lgrind.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% lgrind.dtx  (with options: `package')
-%% 
-%% LGrind is used to format source code of different programming
-%% languages for LaTeX.
-%% 
-%% LGrind is a major adaptation of Jerry Leichter's tgrind for LaTeX,
-%% which was a notable improvement upon Van Jacobsen's tgrind for
-%% plain TeX, which was adapted from vgrind, a troff prettyprinter.
-%% 
-%% LGrind contains non-free code written by Van Jacobson, who does not answer
-%% to any request for changing his licence. This software is therefore not
-%% maintained. I also do not accept any cheques anymore.
-%% Based on Van Jacobson's ``tgrindmac'', a macro package for TeX.
-%% Modified, 1987 by Jerry Leichter. Put '@' in all internal names.
-%% Modified, 1991 by George Reilly. Changed name from tgrind to lgrind.
-%% Modified, 1995 by Michael Piefel. Made it work with \LaTeXe.
-%%          -1999    Hundreds of bells and whistles. No changelog here.
-\NeedsTeXFormat{LaTeX2e}[1996/06/01]
-\ProvidesPackage{lgrind}
-          [2002/01/28 v3.67 LGrind environment and supporting stuff]
-%%stopzone   % VIM syncing
-\newcount\lc@unt
-\newcount\ln@xt
-\newcount\LGnuminterval
-\LGnuminterval=10
-\DeclareOption{nolineno}{\LGnuminterval=50000}
-\DeclareOption{lineno5}{\LGnuminterval=5}
-\newif\ifLGleftnum
-\DeclareOption{leftno}{\LGleftnumtrue}
-\newskip\LGindent
-\LGindent=1.6667\parindent
-\DeclareOption{noindent}{\LGindent=0pt}
-\newif\ifLGnorules
-\DeclareOption{norules}{\LGnorulestrue}
-\newlength{\LGsloppy}
-\setlength{\LGsloppy}{7.2pt}
-\DeclareOption{fussy}{\LGsloppy=0pt}
-\newcommand{\DefaultProc}{\@gobble}
-\newcommand{\DefaultProcCont}{\@gobble}
-\DeclareOption{procnames}{
-\renewcommand{\DefaultProc}[1]{\renewcommand{\Procname}{#1}%
-\global\setbox\procbox=\hbox{\PNsize #1}}
-\renewcommand{\DefaultProcCont}[1]{\renewcommand\Procname{#1}
-\global\setbox\procbox=\hbox{\PNsize\dots #1}}}
-\newbox\procbox
-\newcommand{\Procname}{}
-\newif\ifLGnoprocindex
-\DeclareOption{noprocindex}{\LGnoprocindextrue}
-\ProcessOptions
-\def\BGfont{\sffamily}
-\def\CMfont{\rmfamily\itshape}
-\def\NOfont{\sffamily}
-\def\KWfont{\rmfamily\bfseries}
-\def\STfont{\ttfamily}
-\def\TTfont{\ttfamily\upshape}
-\def\VRfont{\rmfamily}
-\def\PNsize{\BGfont\small}
-\def\LGsize{\small}
-\def\LGfsize{\footnotesize}
-\newif\ifLGinline
-\newif\ifLGd@fault
-\def\LGbegin{\ifLGinline$\hbox\else$$\vbox\fi\bgroup\LGd@faulttrue}
-\def\LGend{\ifLGd@fault\egroup\ifLGinline$\else$$\fi\LGd@faultfalse\fi}
-%%stopzone   % VIM syncing
-\newif\ifc@mment
-\newif\ifstr@ng
-\newif\ifright@
-\newbox\ls@far
-\newbox\tb@x
-\newdimen\TBw@d
-\newdimen\@ts
-{\catcode`\_=\active \gdef\@setunder{\let_=\sp@ce}}
-\newcommand{\lgrindhead}{}
-\newcommand{\lgrindfilename}{}\newcommand{\lgrindfilesize}{}
-\newcommand{\lgrindmodyear}{}\newcommand{\lgrindmodmonth}{}
-\newcommand{\lgrindmodday}{}\newcommand{\lgrindmodtime}{}
-\newenvironment{lgrind}[1][1]{%
-\def\Line##1{\L{\LB{##1}}}%
-\newcommand{\Head}[1]{\gdef\lgrindhead{##1}}%
-\newcommand{\File}[6]{\gdef\lgrindfilename{##1}\message{(LGround: ##1)}%
-    \gdef\lgrindmodyear{##2}\gdef\lgrindmodmonth{##3}%
-    \gdef\lgrindmodday{##4}\gdef\lgrindmodtime{##5}%
-    \gdef\lgrindfilesize{##6}}%
-\let\Proc=\DefaultProc%
-\let\ProcCont=\DefaultProcCont%
-\ifLGnoprocindex%
-  \let\index\@gobble%
-\fi%
-\hfuzz=\LGsloppy%
-\def\NewPage{\filbreak\bigskip}%
-\ifLGinline%
- \def\L##1{\setbox\ls@far\null{\CF\strut##1}\ignorespaces}%
-\else%
- \let\r@ghtlno\relax\let\l@ftlno\relax%
- \ifnum\LGnuminterval>\z@%
-  \ifLGleftnum%
-   \def\l@ftlno{\ifnum\lc@unt>\ln@xt%
-     \global\advance\ln@xt by\LGnuminterval%
-     \llap{{\normalfont\scriptsize\the\lc@unt\quad}}\fi}%
-   \def\r@ghtlno{\rlap{\enspace\box\procbox}}%
-  \else%
-   \def\r@ghtlno{\ifnum\lc@unt>\ln@xt%
-     \global\advance\ln@xt by\LGnuminterval%
-     \rlap{{\normalfont\scriptsize\enspace\the\lc@unt%
-                \enspace\box\procbox}}%
-     \else\rlap{\enspace\box\procbox}\fi}%
-  \fi%
- \fi%
- \def\L##1{\@@par\setbox\ls@far=\null\strut%
-  \global\advance\lc@unt by1%
-  \hbox to \linewidth{\hskip\LGindent\l@ftlno ##1\egroup%
-  \hfil\r@ghtlno}%
-  \ignorespaces}%
-\fi%
-\lc@unt=#1\advance\lc@unt by-1%
-\ln@xt=\LGnuminterval\advance\ln@xt by-1%
-\loop\ifnum\lc@unt>\ln@xt\advance\ln@xt by\LGnuminterval\repeat%
-\def\LB{\hbox\bgroup\bgroup\box\ls@far\CF\let\next=}%
-\def\Tab##1{\egroup\setbox\tb@x=\lastbox\TBw@d=\wd\tb@x%
- \advance\TBw@d by 1\@ts\ifdim\TBw@d>##1\@ts%
-  \setbox\ls@far=\hbox{\box\ls@far \box\tb@x \sp@ce}\else%
-  \setbox\ls@far=\hbox to ##1\@ts{\box\ls@far \box\tb@x \hfil}\fi\LB}%
-\ifLGinline\def\sp@ce{{\hskip .3333em}}%
-\else \setbox\tb@x=\hbox{\texttt{0}}%
-      \@ts=0.8\wd\tb@x \def\sp@ce{{\hskip 1\@ts}}\fi%
-\catcode`\_=\active \@setunder%
-\def\CF{\ifc@mment\CMfont\else\ifstr@ng\STfont\fi\fi}%
-\def\N##1{{\NOfont ##1}\global\futurelet\next\ic@r}%
-\def\K##1{{\KWfont ##1}\global\futurelet\next\ic@r}%
-\def\V##1{{\VRfont ##1}\global\futurelet\next\ic@r}%
-\def\ic@r{\let\@tempa\/\ifx.\next\let\@tempa\relax%
- \else\ifx,\next\let\@tempa\relax\fi\fi\@tempa}%
-\def\C{\egroup\bgroup\CMfont \global\c@mmenttrue \global\right@false}%
-\def\CE{\egroup\bgroup \global\c@mmentfalse}%
-\def\S{\egroup\bgroup\STfont \global\str@ngtrue}%
-\def\SE{\egroup\bgroup \global\str@ngfalse}%
-\def\,{\relax \ifmmode\mskip\thinmuskip \else\thinspace \fi}%
-\def\!{\relax \ifmmode\mskip-\thinmuskip \else\negthinspace \fi}%
-%%stopzone   % VIM syncing
-\def\CH##1##2##3{\relax\ifmmode ##1\relax%
-\else\ifstr@ng ##2\relax\else$##3$\fi\fi }%
-\def\|{\CH|||}%  not necessary for T1
-\def\<{\CH<<<}%  dto.
-\def\>{\CH>>>}%  dto.
-\def\-{\CH---}%  minus sign nicer than hyphen
-\def\_{\ifstr@ng {\char'137}\else%
-  \leavevmode \kern.06em \vbox{\hrule width.35em}%
-  \ifdim\fontdimen\@ne\font=\z@ \kern.06em \fi\fi }%
-\def\#{{\STfont\char'043}}%
-\def\2{\CH\backslash {\char'134}\backslash }%          % \
-\def\3{\ifc@mment\ifright@ ''\global\right@false%
-                      \else``\global\right@true \fi%
-   \else{\texttt{\char'042}}\fi}%                      % "
-\def\5{{\texttt{\char'136}}}%                          % ^
-\parindent\z@\parskip\z@ plus 1pt%
-\bgroup\BGfont%
-}
-{\egroup\@@par\newpage}           % end of environment lgrind
-\def\lgrinde{\ifLGinline\else\LGsize\fi\begin{lgrind}}
-\def\endlgrinde{\end{lgrind}}
-\def\lagrind{\@ifstar{\@slagrind}{\@lagrind}}
-\def\@lagrind{\@ifnextchar[{\@@lagrind}{\@@lagrind[t]}}
-\def\@slagrind{\@ifnextchar[{\@@slagrind}{\@@slagrind[t]}}
-\def\@@lagrind[#1]#2#3#4{%
-    \begin{figure}[#1]
-\ifLGnorules\else\hrule\fi
-\vskip .5\baselineskip
-\begin{minipage}\columnwidth\LGsize\LGindent\z@
-    \begin{lgrind}
-\input #2\relax
-    \end{lgrind}
-\end{minipage}
-\vskip .5\baselineskip plus .5\baselineskip
-\ifLGnorules\else\hrule\fi\vskip .5\baselineskip
-\begingroup
-    \setbox\z@=\hbox{#4}%
-    \ifdim\wd\z@>\z@
-\caption{#3}%
-\label{#4}%
-    \else
-\captcont{#3}%
-    \fi
-\endgroup
-\vskip 2pt
-    \end{figure}
-}
-\def\@@slagrind[#1]#2#3#4{%
-    \begin{figure*}[#1]
-\ifLGnorules\else\hrule\fi
-\vskip .5\baselineskip
-\begin{minipage}\linewidth\LGsize\LGindent\z@
-    \begin{lgrind}
-\input #2\relax
-    \end{lgrind}
-\end{minipage}
-\vskip .5\baselineskip plus .5\baselineskip
-\ifLGnorules\else\hrule\fi\vskip .5\baselineskip
-\begingroup
-    \setbox\z@=\hbox{#4}%
-    \ifdim\wd\z@>\z@
-\caption{#3}%
-\label{#4}%
-    \else
-\captcont{#3}%
-    \fi
-\endgroup
-\vskip 2pt
-    \end{figure*}
-}
-\def\lgrindfile#1{%
-    \par\addvspace{0.1in}
-    \ifLGnorules\else\hrule\fi
-    \vskip .5\baselineskip
-    \begingroup\LGfsize\LGindent\z@
-\begin{lgrind}
-    \input #1\relax
-\end{lgrind}
-    \endgroup
-    \vskip .5\baselineskip
-    \ifLGnorules\else\hrule\vspace{0.1in}\fi
-}
-\endinput
-%%
-%% End of file `lgrind.sty'.
diff --git a/lgrindef b/lgrindef
deleted file mode 100644 (file)
index cfe979b..0000000
--- a/lgrindef
+++ /dev/null
@@ -1,849 +0,0 @@
-# Database of program templates for lgrind
-# $Id: lgrindef,v 1.1 2006/09/03 14:38:10 kaashoek Exp $
-
-Ada:\
-       :pb=(^\d?procedure|function\d\p\d|\():\
-       :np=;\d?$:id=_.:\
-       :bb=\d(begin|case|do|if|loop|select)\d:be=\dend\d|;:\
-       :rb=(\=|\:|\d|^)(protected|record):\
-       :oc:\
-       :cb=--:ce=$:ab=--:ae=$:\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :sb=":se=":lb=':le=':\
-       :kw=abort abs accept access aliased all and array at begin body case\
-       constant declare delay delta digits do else elsif end entry exception exit\
-       for function generic goto if in is limited loop mod new not null of or\
-       others out package pragma private procedure protected raise range record\
-       rem renames requeue return reverse select separate subtype tagged task\
-       terminate then type until use when while with xor:
-
-Asm:\
-       :oc:\
-       :cb=#:ce=$:ab=/*:ae=*/:\
-       :sb=':se=':lb=":le=":\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :kw=ascii block byte end equ globl text data word even long\
-       #else #endif #if #ifdef #ifndef #include #undef #define else endif\
-       if ifdef ifndef include undef define:
-
-Asm68:\
-       :pb=(^\d?.proc\d\p\d:\
-       :oc:\
-       :cb=;:ce=$:\
-       :sb=':se=':lb=":le=":\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :kw=ascii block byte end equ include long proc word:
-
-# JL - Added QBASIC Aug 95
-BASIC:\
-       :pb=^\d?*?\d?\p\d?\(\a?\)(\d|{):bb={:be=}:\
-       :cb=':ce=$:sb=":se=":\
-       :le=\e':tl:\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :kw= ABS APPEND ABSOLUTE AS ACCESS ASC AND ATN ANY \
-       BASE BLOAD BEEP BSAVE BINARY                       \
-       CALL COLOR CALL ABSOLUTE COM CASE COMMON CDBL CONST\
-       CHAIN COS CHDIR CSNG CHR$ CSRLIN CINT CVD CIRCLE CVDMBF\
-       CLEAR CVI CLNG CVL CLOSE  CVS CLS CVSMBF               \
-       DATA  DEFLNG DEFSNG DATE$ DEFSTR DATE$ DIM DECLARE DO LOOP\
-       DEF FNDOUBLE DEF SEG DRAW DEFDBL $DYNAMIC DEFINT        \
-       ELSE  ERDEV ELSEIF ERDEV$ END ERL ENVIRON ERR ENVIRON$ \
-       ERROR EOF EXIT EQV EXP ERASE                           \
-       FIELD FOR NEXT FILEATTR FRE FILES FREEFILE FIX FUNCTION\
-       GET  GOSUB GET GOTO                                    \
-       HEX$ IF THEN ELSE INSTR IMP INT INKEY$ INTEGER         \
-       INP IOCTL INPUT IOCTL$ INPUT$ IS                       \
-       KEY KILL KEY                                           \
-       LBOUND LOCK UNLOCK LCASE$ LOF LEFT$ LOG LEN LONG LET LOOP\
-       LINE LPOS LINE INPUT LPRINT LIST LPRINT USING LOC LSET LOCATE LTRIM$\
-       MID$  MKI$ MID$ MKL$ MKD$ MKS$ MKDIR MKSMBF$ MKDMBF$ MOD \
-       NAME NOT NEXT                                          \
-       OCT$ ON TIMER OFF ON GOSUB ON COM ON GOTO ON ERROR OPEN \
-       ON OPEN COM ON KEY OPTION BASE ON PEN OR ON PLAY OUT ON STRIG OUTPUT \
-       PAINT POINT PALETTE  POKE PCOPY POS PEEK PRESET PEN PRINT \
-       PEN PRINT USING PLAY PSET PLAY PUT PLAY PUT PMAP          \
-       RANDOM RETURN RANDOMIZE RIGHT$ READ RMDIR REDIM RND REM RSET RESET \
-       RTRIM$ RESTORE RUN RESUME                                      \
-       SCREEN SQR STATIC SEEK $STATIC SEEK STEP SELECT CASE STICK SGN STOP \
-       SHARED STR$ SHELL STRIG SIN STRIG SINGLE STRING SLEEP STRING$   \
-       SOUND SUB SPACE$ SWAP SPC SYSTEM                            \
-       TAB TIMER TAN TO THEN TROFF TIME$ TRON TIME$ TYPE TIMER     \
-       UBOUND UNTIL UCASE$ USING UNLOCK                            \
-       VAL VARSEG VARPTR VIEW VARPTR$ VIEW                         \
-       WAIT WIDTH WEND WINDOW WHILE WEND WRITE                     \
-       XOR :                                                       
-
-# DOS Batch file language description for the LGrind pretty-printer
-# Jim Green <j.j.green@shef.ac.uk>  11/15/96 Notice that the tex block
-# is a triple-precent rather than a double, and that `program text
-# within a comment' also has an added percent (to avoid conflicts with
-# environmental variables and `@echo off' statements respectively).
-# This assumes that it is possible to write a batch file sufficiently
-# complex to need such explanation.
-Batch|bat:\
-       :pb=^\d?\:\p\d?$:\
-       :cb=rem :ce=$:\
-       :sb=echo:se=$:\
-       :zb=%@:ze=%@:tb=%%%:te=%%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :kw=call do echo @echo exist for goto if in not pause rem shift:
-
-C:\
-       :pb=\p\d?\(:cf:np=\)\d?;:bb={:be=}:\
-       :cb=/*:ce=*/:sb=":se=\e":lb=':le=\e':\
-       :tl:\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :kw=asm auto break case cdecl char continue default do double else\
-       enum extern far float for fortran goto huge if int interrupt long\
-       near pascal register return short signed sizeof static struct\
-       switch typedef union unsigned void while\
-       #define #else #endif #if #ifdef #ifndef #include #undef # define\
-       else endif if ifdef ifndef include undef #pragma #elif pragma elif\
-       #module #dictionary module dictionary\
-       variant_struct variant_union\
-       noshare readonly globaldef globalref globalvalue main_program:
-#Last couple of lines are partial ANSI, plus VAX-C specific
-
-C++|CC:\
-       :pb=\p\d?\(:cf:np=\)\d?;:bb={:be=}:\
-       :cb=/*:ce=*/:ab=//:ae=$:sb=":se=\e":lb=':le=\e':\
-       :tl:id=_~\::\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :kw=and and_eq asm auto bitand bitor bool break case catch char class\
-       compl const const_cast continue default delete do double dynamic_cast\
-       else enum explicit export extern false float for friend goto if inline\
-       int long mutable namespace new not not_eq operator or or_eq private\
-       private\: protected protected\: public public\: register\
-       reinterpret_cast return short signed sizeof static static_cast struct\
-       switch template this throw true try typedef typeid typename union\
-       unsigned using virtual void volatile wchar_t while xor xor_eq\
-       static_cast const_cast dynamic_cast reinterpret_cast\
-       #define #else #endif #if #ifdef #ifndef #include #undef #pragma #\
-       define else endif if ifdef ifndef include undef defined:
-
-csh:\
-       :bb={:be=}:cb=#:ce=$:sb=":se=\e":lb=':\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :le=\e':tl:\
-       :kw=alias alloc break breaksw case cd chdir continue default\
-       echo else end endif endsw exec exit foreach \
-       glob goto history if logout nice nohup onintr repeat set\
-       setenv shift source switch then time \
-       while umask unalias unset wait while @ env \
-       argv child home ignoreeof noclobber noglob \
-       nomatch path prompt shell status verbose :
-
-FORTRAN|f77|f:\
-       :pb=(function|subroutine|program)\d\p\d?\(\a?\):\
-       :bb=(function|subroutine|program)\d\p\d?\(\a?\):be=^\dend\d:\
-       :cb=^(c|C|*):ce=$:\
-       :sb=':se=':\
-       :oc:\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :kw=call character close common complex continue data dimension do\
-       double else elseif end enddo endif entry equivalence format function\
-       goto if implicit include integer logical open pause parameter print\
-       precision program read real return stop subroutine then write\
-       gt ge lt le eq ne and or not false true:
-# The last should contain a lot more periods. But LGrind's parser doesn't like
-# them. So you can't use 'gt' as identifier. (Who would want to, anyway?)
-
-Gnuplot:\
-       :pb=\d?\p\(\a\)=:\
-       :cb=#:ce=$:\
-       :sb=("|'):se=("|'):\
-       :zb=@:ze=@:\
-       :tb=%%:te=%%::mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :kw=cd clear exit load pause plot pwd quit replot save set showsplot\
-       title using with:    
-
-Icon:\
-       :pb=^\d?procedure\d\p\d?\(\a?\):\
-       :bb=(^\d?procedure\d\p\d?\(\a?\))|{:be=}|(^\d?end\d?$):\
-       :cb=#:ce=$:\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :sb=":se=\e":lb=':le=\e':tl:\
-       :kw=break by case create default do dynamic else end every external\
-       fail global if initial local next not of procedure record\
-       repeat return static suspend then to until using while\
-       &ascii &clock &cset &date &dateline &errout &fail &host &input\
-       &lcase &level &main &null &output &pos &random &source &subject\
-       &time &trace &ucase &version:
-
-# Written by Diego Berrueta <diego@berrueta.net>
-IDL:\
-       :pb=\p\d?\(:cf:np=\)\d?;:bb={:be=}:\
-       :cb=/*:ce=*/:ab=//:ae=$:sb=":se=\e":lb=':le=\e':\
-       :tl:id=_~\::\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :kw=abstract any attribute boolean case char const context \
-       custom default double exception enum factory FALSE fixed float \
-       in inout interface local long module native Object\
-       octet oneway out private public raises readonly sequence short \
-       string struct supports switch TRUE truncatable typedef unsigned \
-       union ValueBase valuetype void wchar wstring\
-       #define #else #endif #if #ifdef #ifndef #include #undef #pragma #\
-       define else endif if ifdef ifndef include undef defined:
-
-ISP:\
-       :cb=!:ce=!|$:oc:\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :kw=and begin decode define end eql eqv geq gtr if leave leq lss mod\
-       neq next not or otherwise repeat restart resume sr0 sr1 srd\
-       srr sl0 sl1 sld slr tst xor:
-
-Java:\
-       :pb=\p\d?\(:cf:np=\)\d?;:bb={:be=}:\
-       :cb=/*:ce=*/:ab=//:ae=$:sb=":se=\e":lb=':\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :le=\e':tl:id=_~\:\
-       :kw=abstract boolean break byte byvalue case catch char class const\
-       continue default do double else extends false final finally float for goto\
-       if implements import instanceof int interface long native new null package\
-       private protected public return short static super switch synchronized this\
-       throw throws true try void volatile while:
-# Somewhere these come from, but they are not in my Java book.
-#      :kw=cast future generic inner rest transient var:
-
-
-Kimwitu++|kimw:\
-       :pb=\p\d?\(:cf:np=\)\d?;:bb={:be=}:\
-       :cb=/*:ce=*/:ab=//:ae=$:sb=":se=\e":lb=':le=\e':\
-       :tl:id=_~\::\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :kw=and and_eq asm auto bitand bitor bool break case catch char class\
-       compl const const_cast continue default delete do double dynamic_cast\
-       else enum explicit export extern false float for foreach friend goto\
-       if inline int long mutable namespace new not not_eq operator or or_eq\
-       private private\: protected protected\: provided public public\:\
-       register reinterpret_cast return rview short signed sizeof static\
-       static_cast struct switch template this throw true try typedef typeid\
-       typename union unsigned using uview virtual void volatile wchar_t\
-       while with xor xor_eq\
-       static_cast const_cast dynamic_cast reinterpret_cast\
-       #define #else #endif #if #ifdef #ifndef #include #undef #pragma #\
-       define else endif if ifdef ifndef include undef defined:
-
-# JL - Jan 96 Added LaTeX
-# JL - May 96 LaTeX-2e additions
-LaTeX:\
-       :tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :cb=%:ce=$:kw=\
-       abstract addcontentsline addtocontents addtocounter address  addtolength \
-       addvspace alph appendix arabic array article author begin bf bfseries \
-       bibitem bigskip book \
-       cdots center centering  circle cite cleardoublepage clearpage \
-       cline closing color colorbox dashbox date ddots definecolor description \
-       displaymath document documentclass documentstyle dotfill em emph end \
-       enumerate eqnarray equation fbox fcolorbox figure flushbottom flushleft \
-       flushright fnsymbol footnote footnotemark footnotesize footnotetext frac \
-       frame framebox hfill hline hhline hrulefill hspace huge Huge hyphenation \
-       include includeonly indent input it itemize itshape kill label large \
-       Large LARGE ldots letter line linebreak linethickness list location \
-       makebox maketitle mark mbox mdseries medskip minipage multicols \
-       multicolumn multiput newcommand newcounter newenvironment newfont \
-       newlength newline newpage newsavebox newtheorem nocite noindent \
-       nolinebreak normalfont normalsize nopagebreak onecolumn opening oval \
-       overbrace overline pagebreak pagecolor pagenumbering pageref pagestyle \
-       par parbox picture put quotation quote raggedbottom raggedleft \
-       raggedright raisebox ref report resizebox rm rmfamily roman rotatebox \
-       rule savebox sc scriptsize setcounter setlength settowidth scalebox \
-       sf sffamily shortstack signature sl slshape small smallskip sqrt \
-       tabbing table tabular telephone \
-       textbf textit textmd textrm textsc textsf textsl texttt textup \
-       thanks thebibliography theorem thispagestyle tiny title titlepage \
-       tt ttfamily twocolumn typeout typein \
-       underbrace underline upshape usebox usecounter usepackage \
-       value vdots vector verb \
-       verbatim  verse vfill vline vspace :
-
-LDL:\
-       :pb=^\p\::bb=\::be=;:cb=/*:ce=*/:sb=":se=\e":\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :kw=constant functions grammar reswords tokens add1 addste\
-       car cdr check colno cond cons copy defun divide empty enter\
-       eq equal findattr firstchild ge getattr getfield gt hash label\
-       lambda lastchild le leftsibling lookone lookup lt minus name ne\
-       newnode nextcom nil null parent plus precnl prevcom prog progn\
-       quote reglob return rightsibling self set setattr setfield setq\
-       stjoin sub1 t times tnull tokno ttype:
-
-Lex:\
-       :lb=[|':le=]|\e':tc=C++:
-
-#Linda is just like C, with a couple of extra keywords.  Note:  The non-
-#blocking operations are included, as are the pre-defined VAX Linda-C macros.
-Linda:\
-       :pb=^\d?*?\d?\p\d?\(\a?\)(\d|{):bb={:be=}:\
-       :cb=/*:ce=*/:sb=":se=\e":lb=':\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :le=\e':tl:\
-       :kw=asm auto break case char continue default do double else enum\
-       extern float for fortran goto if int long register return short\
-       sizeof static struct switch typedef union unsigned void while #define\
-       #else #endif #if #ifdef #ifndef #include #undef # define else endif\
-       if ifdef ifndef include undef\
-       #pragma #elif pragma elif #line\
-       #module #dictionary module dictionary\
-       variant_struct variant_union\
-       noshare readonly globaldef globalref globalvalue main_program\
-       in inp rd rdp out eval newtype varying nchar\
-       $ARR $ARRAY $ARRAY_TYPE $MAKE_ARRAY\
-       $STR $STRING $STRING_TYPE $SET_DIM $MAKE_STRING\
-       #ttcontext ttcontext:
-
-make:\
-        :cb=#:ce=$:\
-        :sb=':se=':lb=":le=":\
-        :id=-_:\
-        :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-        :kw=define endef ifeq ifneq else endif include override export unexport vpath\
-        subst patsubst strip findstring filter filter-out sort dir notdir suffix basename\
-        addsuffix addprefix join word words firstword wildcard shell origin foreach:
-
-# JL - 'masm' (Microsoft Assembler) by way of
-# modification of 'asm' style provided above.
-# The instructions are *not* defined as keywords here.
-MASM:\
-       :oc:\
-       :cb=;:ce=$:ab=/*:ae=*/:\
-       :sb=':se=':lb=":le=":\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :kw=ascii block globl even long\
-       286 386 486 \
-       code data dosseg end endp equ \
-       huge large medium model proc small stack tiny title :
-
-# JL - Added MATLAB Jan 96
-# Note: the string delimiter ' is also used as a transpose operator
-# causing the rest of the line to be interpreted as a string.
-MATLAB:\
-       :pb=^\d?*?\d?\p\d?\(\a?\)(\d|{):bb={:be=}:\
-       :cb=%:ce=$:sb=':se='|$|;:\
-       :le=\e':tl:\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :kw= \
-       abs acos acosh acot acoth acsc acsch  \
-       airfoil all andrew angle angle ans any arith  \
-       asec asech asin asinh atan atan2 atanh auread  \
-       auwrite axes axis balance bar bartlett bench bessel  \
-       bessela besselap besself besseli besselj besselk bessely beta  \
-       betacore betainc betaln bilinear blackman blanks blt bone  \
-       boxcar break brighten bucky buttap butter buttonv buttord  \
-       cart2pol cart2sph caxis cceps cd cdf2rdf cedit ceil  \
-       census censusex cheb1ap cheb1ord cheb2ap cheb2ord chebwin cheby1  \
-       cheby2 choices choicex chol cinvert cla clabel clc  \
-       clear clf clg clock close cohere colmmd colon  \
-       colormap colormenu colperm colstyle comet comet3 compan compass  \
-       computer cond condest conj contour contour3 contourc contrast  \
-       conv conv conv2 conv2 convmtx cool copper corrcoef  \
-       corrcoef cos cosh cot coth cov cov cplxdemo  \
-       cplxgrid cplxmap cplxpair cplxpair cplxroot cputime cross csc  \
-       csch csd cumprod cumsum cylinder czt cztdemo d  \
-       datalist date dbclear dbcont dbdown dbquit dbstack dbstatus  \
-       dbstep dbstop dbtype dbup dc2sc dct deblank debug  \
-       dec2hex decimate deconv deconv del2 delete delsq delsqdemo  \
-       delsqshow demo demod det detrend dftmtx diag diary  \
-       diff dir diric disp dmperm dos drawnow earthex  \
-       earthmap echo eig eigmovie ellip ellipap ellipj ellipk  \
-       ellipke ellipord else elseif end eps erf erfc  \
-       erfcore erfcx erfinv error errorbar etime etree etreeplot  \
-       eval exist exp expm expm1 expm2 expm3 eye  \
-       fclose feather feof ferror feval fft fft fft2  \
-       fft2 fftdemo fftfilt fftshift fftshift fftshift fgetl fgets  \
-       figtext figure fill fill3 filtdemo filter filter filter2  \
-       filtfilt filtic find findstr finite fir1 fir2 firls  \
-       fitdemo fitfun fix flag fliplr flipud floor flops  \
-       fmin fmins fopen foptions for format fourier fplot  \
-       fplotdemo fprintf fread freqs freqspace freqz frewind fscanf  \
-       fseek ftell full function funm fwrite fzero gallery  \
-       gamma gammainc gammaln gca gcd gcf get getenv  \
-       getframe ginput global gplot gradient gray graymon grid  \
-       griddata grpdelay gtext hadamard hamming hankel hanning hardcopy  \
-       help hess hex2dec hex2num hidden highlight hilb hilbert  \
-       hint hist hold home hostid hot hsv hsv2rgb  \
-       humps i icubic idct ident if ifft ifft  \
-       ifft2 ifft2 iffuse imag image imagedemo imageext imagesc  \
-       impinvar impz imread imtext imwrite inf info input  \
-       inquire int2str interp interp1 interp1 interp2 interp3 interp4  \
-       interp5 interpft intfilt intro inv inverf invfreqs invfreqz  \
-       invhilb isempty isglobal ishold isieee isinf isletter isnan  \
-       issparse isstr isunix j jet kaiser keyboard knot  \
-       kron lalala lasterr lcm legend length levinson life lifeloop  \
-       lin2mu line linspace load loadwave log log10 log2  \
-       loglog logm logspace lookfor lorenz lorenzeq lotka lower  \
-       lp2bp lp2bs lp2hp lp2lp lpc ls lscov lu  \
-       magic man mathlist matlabro max mean medfilt1 median  \
-       membrane memory menu mesh meshc meshdom meshgrid meshz  \
-       meta min mkpp mmove2 moddemo modulate more movie  \
-       moviein mu2lin nalist nan nargchk nargin nargout nestdiss  \
-       nested newplot nextpow2 nnls nnz nonzeros norm normest  \
-       null num2str numgrid nzmax ode23 ode23p ode45 odedemo  \
-       ones orient orth pack paren pascal patch path  \
-       pause pcolor peaks penny pi pink pinv planerot  \
-       plot plot3 pol2cart polar poly poly2rc polyder polyfit  \
-       polyline polymark polystab polyval polyvalm pow2 ppval print  \
-       printopt prism prod prony psd punct puzzle pwd  \
-       qr qrdelete qrinsert quad quad8 quad8stp quaddemo quadstp  \
-       quake quit quiver qz rand randn randperm rank  \
-       rat rats rbbox rc2poly rceps rcond readme real  \
-       realmax realmin relop rem remez remezord resample reset  \
-       reshape resi2 residue residuez return rgb2hsv rgbplot rjr  \
-       roots rose rosser rot90 round rref rrefmovie rsf2csf  \
-       save savewave sawtooth saxis sc2dc schur script sec  \
-       sech semilogx semilogy sepdemo sepplot set setstr shading  \
-       shg showwind sig1help sig2help sigdemo1 sigdemo2 sign sin  \
-       sinc sinh size slash slice sort sos2ss sos2tf  \
-       sos2zp sound sounddemo soundext spalloc sparlist sparse sparsfun  \
-       sparsity spaugment spconvert spdiags specgram specials spectrum specular  \
-       speye spfun sph2cart sphere spinmap spiral spline spline  \
-       spline2d spones spparms sprandn sprandsym sprank sprintf spy  \
-       spypart sqdemo sqrt sqrtm square ss2sos ss2tf ss2zp  \
-       sscanf stairs std stem stem stmcb str2mat str2num  \
-       strcmp strings strips subplot subscribe subspace sum sunspots  \
-       superquad surf surface surfc surfl surfnorm svd swapprev  \
-       symbfact symmmd symrcm table1 table2 tan tanh tempdir  \
-       tempname terminal text tf2ss tf2zp tfe tffunc tic  \
-       title toc toeplitz trace trapz treelayout treeplot triang  \
-       tril triu type uicontrol uigetfile uimenu uiputfile uisetcolor  \
-       uisetfont unix unmesh unmkpp unwrap unwrap upper vander  \
-       vco ver version vibes view viewmtx waterfall what  \
-       whatsnew which while white whitebg who whos why  \
-       wilkinson xcorr xcorr2 xcov xlabel xor xyzchk ylabel  \
-       yulewalk zerodemo zeros zlabel zp2sos zp2ss zp2tf zplane :
-
-# Courtesy of Dominique de Waleffe (ddw@miscrit.be)
-Mercury:\
-        :bb=\:-:be=.:cb=%:ce=$:ab=/*:ae=*/:\
-        :zb=@:ze=@:tb=%*%:te=%*%:mb=%*\$:me=\*$%:vb=%*\|:ve=\|*%:\
-        :sb=":se=\e":lb=':le=\e':oc:\
-        :kw=pred type module import_module mode \:\: -> --> ---> \:-\
-        pragma func lambda det semidet multi cc_multi failure nondet\
-        true fail is in out di uo ui interface implementation:
-
-# This entry makes use of new capabilities added to support the description
-# of lisp-like languages (id, pl, and px).  The set of keywords given is a
-# matter of taste.  It would be reasonable to add all the wired functions to
-# the list.
-MLisp|Emacs Mock Lisp:\
-       :cb=;:ce=$:lb=':le=\e':sb=":se=\e":bb=\(:be=\):\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :id=_-$#@./,%&?!^*+~`|;<>'\::\
-       :kw=defun if progn while:pl:px=\d\(defun:pb=^\d\(\p($|(\d\a$)):
-
-SML/NJ:ML:\
-       :cb=\(\*:ce=\*\):\
-       :pb=fun:\
-       :id=_':\
-       :lb=(#)":le=":sb=":se=\e":\
-       :kw=fun let in end if then else andalso orelse and val fun structure\
-       exception infix infixr nonfix type abstype datatype withtype with\
-       local rec open use sig eqtype functor signature handle raise fn while\
-       do case of as \:\: ... => -> |:
-
-# Scheme has a funky character quoting mechanism, 'a' in C is #\a in
-# Scheme.  Lgrind doesn't deal with this well.  I tried a few different
-# things, and decided the best option was to punt.
-Scheme|scm:\
-       :cb=;:ce=$:\
-       :lb=(#):le=(\\):\
-       :sb=":se=\e":\
-       :id=_-$#@./,%&?!^*+~`|;<>'\::\
-       :pb=\(define\d\(:\
-       :kw=define lambda let:
-
-model:\
-       :pb=^\d(space\d\p\drep)|(\p\dis|inline|public\dbeginproc):\
-       :bb=\dbeginproc|space|case\d:be=\dendproc|end\d|;:\
-       :cb=\$:ce=\$|$:sb=":se=":lb=':le=\a|$:\
-       :kw=abs and array beginproc boolean by case cdnl char copied dispose\
-       div do dynamic else elsif end endproc entry external FALSE false\
-       fi file for formal fortran global if iff ift\
-       in integer include inline is lbnd\
-       max min mod new NIL nil noresult not notin od of or procedure public\
-       read readln readonly record recursive rem rep repeat res\
-       result return set\
-       space string subscript such then TRUE true type ubnd union until\
-       varies while width:
-
-Modula2|mod2|m2:\
-       :pb=(^\d?(PROCEDURE|MODULE)\d\p\d|\(|;|\:)|(=|\:\d?RECORD\d):\
-       :np=FORWARD:id=_.:\
-       :bb=\d(BEGIN|CASE|FOR|IF|LOOP|WHILE|WITH|CLASS)\d:\
-       :be=\dEND\d|;:\
-       :cb=\(*:ce=*\):\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :sb=":se=":lb=':le=':\
-       :kw=AND ARRAY BEGIN BY CASE CONST\
-       DEFINITION DIV DO ELSE ELSIF END EXIT EXPORT\
-       FOR FROM IF IMPLEMENTATION IMPORT IN\
-       LOOP MOD MODULE NOT OF OR POINTER PROCEDURE QUALIFIED\
-       RECORD REPEAT RETURN SET THEN TO TYPE\
-       UNTIL VAR WHILE WITH:
-
-# Of course this is not simple Pascal anymore. Borland set THE standard
-# for a modern Pascal. Available as Delphi or Free Pascal.
-Pascal|pas|p|bp:\
-       :pb=(^\d?procedure|function|constructor|destructor\d\p\d|\(|;|\:):\
-       :np=forward:id=_.:\
-       :bb=\d(case|begin|asm)\d:be=\dend\d|;:\
-       :rb=(\=|\:|\d|^)(record|object(\(\a\))?)(\d|$):\
-       :oc:\
-       :cb={:ce=}:ab=\(*:ae=*\):\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :sb=':se=':\
-       :kw=and asm array begin case const constructor destructor div do\
-       downto else end end. exports file for function goto if implementation\
-       in inherited inline interface label library mod nil not object of or\
-       packed procedure program record repeat set shl shr then to type unit\
-       until uses var while with xor\
-       $ifdef $ifndef $ifopt $else $endif\
-       absolute assembler export external far forward index interrupt\
-       name near private public resident virtual\
-       break continue exit halt:
-# The last four are not keywords, but procedures, but they are far more than
-# normal and deserve to be treated as if (at least by a pretty printer).
-# The 14 modifiers in the last two lines but one also should be treated
-# specially though they are not keywords. "string", on the other hand, IS
-# a keyword, but since "integer", "boolean" etc. are not, along with any
-# self defined type whatsoever, it is not in this list.
-
-#Perl definition; snarfed from the net
-PERL|pl:\
-       :pb=^\d?sub\d\p(\d|{):\
-       :bb={:be=}:cb=\d#:ce=$:sb=":se=\e":lb=':le=\e':\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :tl:\
-       :kw=if until while elsif else unless for foreach continue sub\
-       accept and atan2 bind chdir chmod chop chown chroot close\
-       closedir cmp connect cos crypt dbmclose dbmopen defined delete die\
-       do dump each eof eq eval exec exit exp fcntl fileno flock fork\
-       getc getlogin getpeername getpgrp getppid getpriority getpwnam\
-       getgrnam gethostbyname getnetbyname getprotobyname getpwuid getgrgid\
-       getservbyname gethostbyaddr getnetbyaddr getprotobynumber\
-       getservbyport getpwent getgrent gethostent getnetent getprotoent\
-       getservent gt setpwent setgrent sethostent setnetent setprotoent\
-       setservent endpwent endgrent endhostent endnetent endprotoent\
-       endservent ge getsockname getsockopt gmtime goto grep hex ioctl\
-       index int join keys kill last le length link listen local localtime\
-       log lstat lt m mkdir ne next not oct open opendir or ord pack pop print printf\
-       push q qq rand read readdir readlink recv redo rename reset return\
-       reverse rewinddir rindex rmdir s seek seekdir select setpgrp send\
-       setpriority setsockopt shift shutdown sin sleep socket socketpair\
-       sort split sprintf sqrt srand stat study substr syscall system\
-       symlink tell telldir time times tr y umask undef unlink unpack\
-       unshift utime values vec wait wantarray warn write x xor:
-
-PostScript|ps:\
-       :oc:\
-       :cb=%:ce=$:\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :sb=\(:se=\e\):\
-       :kw=forall array null dict begin end def store string \
-       exec if ifelse repeat for loop exit stop stopped quit \
-       start save restore gsave grestore grestoreall definefont \
-       newpath initgraphics erasepage showpage copypage initclip \
-       clip eoclip fill eofill stroke image imagemask:
-
-PROLOG:\
-       :bb=\:-:be=.$:cb=%:ce=$:ab=/*:ae=*/:\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :sb=":se=\e":lb=':le=\e':oc:\
-       :kw=op mod abort ancestors arg ascii ask assert asserta assertz\
-       atom atomic char clause close concat consult ed ef em eof fail\
-       file findall write functor getc integer is length listing load name\
-       nl nonvar not numbervars op or pp prin print private prompt putc\
-       ratom read read_from_this_file rename repeat retract retractall\
-       save see seeing seen sh skip statistics subgoal_of system tab\
-       tell telling time told trace true unload untrace var write:
-
-Python|py:\
-       :pb=^\d?(def|class)\d\p(\d|\\|\(|\:):\
-       :cb=#:ce=$:sb=":se=\e":lb=':le=\e':\
-       :kw=accept and break class continue def del elif else except\
-       exec finally for from global if import in is lambda not or\
-       pass print raise return try while:
-
-RATFOR:\
-       :pb=^\d?program|subroutine|function|(integer|real|complex|character\dfunction)\d\p\d|\(:\
-       :bb={:be=}:cb=#:ce=$:sb=":se=":lb=':le=':oc:\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :kw= break call case character common complex data default define\
-       dimension do else end equivalence external false for function go\
-       goto if implicit include integer logical next pause program read\
-       real repeat return rewind stop string subroutine switch true until\
-       while write:
-
-# RLaB language description for the LGrind pretty-printer
-# Jim Green <j.j.green@shef.ac.uk>  10/15/96
-RLaB:\
- :pb=^\d?\p\d?=\d?function\d?\(:\
- :bb={:be=}:\
- :cb=//:ce=$:\
- :sb=":se=":\
- :tl:\
- :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
- :kw= \
- abs acos all any asin asinh atan atan2 atanh autospec  \
- avsmooth backsub balance bandred banner besselj bessely  \
- bodetf break cd ceil center chol choose chop class clear  \
- clearall close command command_ compan compleme complex  \
- conditio conj continua continue corr cos cosh cross cumprod  \
- cumsum czt det detrend diag diary diff disp division dlopen  \
- dot eig epsilon erf error errors eval examples exist exp  \
- expm eye factor faxis fft fftplot files filter find finite  \
- fix fliplr flipud floor fmin for format fprintf fread frexp  \
- fseek function funm fvscope gamma getb getenv getline  \
- getplot global hankel help hess hex hilb hilbert house if  \
- ifft imag in inf input int int2str intersec intro inv isempty  \
- isinf isnan isreal issymm join jordan keywords lagrange  \
- lcheck length lininsrt linspace lintrp list lmsale load  \
- loaddir local log log10 log2 logb logm logspace lu lyap max  \
- max2 maxi mdsmax mdsmooth mean median members min min2 mini  \
- mod mret nan nextpow2 nmsmax norm num2str ode ode4 ode78  \
- ones open operator pascal pause pclose pend pinv plalt  \
- plaspect plaxis plaz plclose plcont plegend plend plerry  \
- plfont plgrid plgrid3 plhist plhistx plhold plhold_o plimits  \
- plline plmesh plot plot3 plplot plpoint plprint plptex  \
- plscol0 plsfile plstart plstyle pltitle plwid plwin poly  \
- printf printmat prod pstart ptitle putenv pwin qq_norma qr  \
- quadr rand rank rcond read readb readm real redit  \
- relation rem replot require reshape return rfile rk4 rlab roots  \
- rot90 round save scalars schord schur section set set3d show  \
- show_pro showpwin sign sin sinh size sizeof solve sort  \
- spectrog sprintf sqrt srand static std steng stmag string  \
- strsplt strtod stzcr subplot sum surspl svd sylv symm system  \
- tan tanh temp tempacosh tempangle tic tmpnam toc toeplitz  \
- trace transpos trapz trig tril triu type union variable  \
- vector while window write writeb writem xlabel  \
- ylabel zeros zlabel:
-
-# It's not obvious what constitutes a "procedure definition" in Russell.
-# This entry doesn't even try...
-Russell:\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :cb=\(*:ce=*\):kw=cand cor do od if fi else enum record prod union\
-       extend export hide with constants let use in ni val var func type\
-       field characters readonly:sb=":se=":lb=':le=':
-
-SAS:\
-       :pb=(^\d?(data|start|%macro)\d\p\d|\(|;):\
-       :cb=/*:ce=*/:\
-       :ab=^\d?*:ae=;:\
-       :sb=":se=":lb=':le=':\
-       :oc:\
-       :bb=\d(do|select)\d:\
-       :be=\dend;:\
-       :kw=proc data by cards do drop else end file filename format go if \
-        input infile keep label length libname merge options output put \
-        retain rename run then title to select set stop until update \
-        when where while %include %macro %mend %do %end %if %then %let:
-
-SDL:\
-       :cb=/*:ce=*/:\
-       :ab=comment:ae=;:\
-       :sb=":se=":lb=':le=':\
-       :oc:\
-       :kw=task else nextstate in out with from interface to via env and use fpar \
-        process procedure block system service type endprocess endprocedure endblock \
-        endsystem endservice package endpackage channel endchannel signalroute connect \
-        synonym dcl signal gate timer signallist create output set reset call operators \
-        literals all state endstate input start stop return none decision enddecision \
-        join virtual redefined finalized adding inherits remote exported imported:
-
-sh:\
-       :bb={:be=}:cb=#:ce=$:sb=":se=\e":lb=':\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :le=\e':tl:\
-       :kw=break case cd continue do done \
-       elif else esac eval exec exit export \
-       fi for if in then while until \
-       read readonly set shift test trap umask wait:
-
-SICStus:\
-       :bb=\:-:be=.$:cb=%:ce=$:ab=/*:ae=*/:\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :sb=":se=\e":lb=':le=\e':\
-       :kw=abolish abort absolute_file_name ancestors arg assert\
-       asserta assertz at_end_of_stream at_end_of_line atom\
-       atom_chars atomic bagof block break call callable call_residue\
-       character_count clause close compare compile compound consult\
-       copy_term current_atom current_host current_input current_input\
-       current_key current_module current_op current_output\
-       current_predicate current_stream debug debugging depth dif\
-       display dynamic ensure_loaded erase error_exception expand_term\
-       fail false fcompile fileerrors findall float flush_output\
-       foreign foreign_file format freeze frozen functor\
-       garbage_collect gc get get0 ground halt help if\
-       incore initialization instance integer is keysort leash\
-       length library_directory line_count line_position listing\
-       load load_foreign_files maxdepth meta_predicate mod\
-       module mode multifile name nl nodebug nofileerrors nogc nonvar\
-       nospy nospyall notrace number number_chars numbervars\
-       on_exception op open open_null_stream otherwise peek_char\
-       phrase plsys portray portray_clause portray_message\
-       predicate_property prepare_foreign_files print print_message\
-       profile_data profile_reset prolog_flag prompt put public\
-       raise_exception read read_term reconsult recorda recorded\
-       recordz reinitialize repeat require restore retract retractall\
-       save save_program see seeing seek seen set_input set_output\
-       set_stream_position setarg setof simple skip skip_line socket\
-       socket_accept socket_bind socket_connect socket_interrupt\
-       socket_listen socket_select sort source_file spy spypoint\
-       statistics stream_code stream_position subgoal_of subsumes_chk\
-       tab tell telling term_expansion term_hash term_subsume time_out\
-       told trace true ttyflush ttyget ttyget0 ttynl ttyput ttyskip\
-       ttytab undo unix unknown unknown_predicate_handler use_module\
-       user_help var version when write write_canonical write_term\
-       writeq:
-
-src:\
-       :kw=:
-
-# Very incomplete...
-SQL:\
-       :oc:ab=/*:ae=*/:\
-       :sb=':se=':lb=":le=":\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :kw=select where from as group by order asc desc union insert values\
-       delete into create table integer varchar primary key not null float\
-       default:
-
-# A.Bednarz@kfa-juelich.de
-# Received Jan 97
-Tcl/Tk|tcl|tk:\
-        :bb={:be=}:cb=\d#:ce=$:sb=":se=\e":lb=':\
-        :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-        :le=\e':tl:pb=\d?proc\d\p\d{:id=-$_.,:\
-        :kw=after append array auto_execok auto_load auto_mkindex \
-auto_reset bell bind bindtags break button canvas case catch cd \
-checkbutton clipboard close concat continue destroy entry eof error \
-eval exec exit expr file fileevent flush focus for foreach format \
-frame gets glob global grab history if image incr info join label \
-lappend lindex linsert list listbox llength lower lrange lreplace \
-lsearch lsort menu menubutton message open option pack pid place \
-proc puts pwd radiobutton raise read regexp regsub rename return \
-scale scan scrollbar seek selection send set source split string \
-subst switch tell text time tk tkButtonDown tkButtonEnter tkButtonInvoke \
-tkButtonLeave tkButtonUp tkCancelRepeat tkCheckRadioInvoke tkEntryAutoScan \
-tkEntryBackspace tkEntryButton1 tkEntryClipboardKeysyms tkEntryInsert \
-tkEntryKeySelect tkEntryMouseSelect tkEntrySeeInsert tkEntrySetCursor \
-tkEntryTranspose tkFirstMenu tkListboxAutoScan tkListboxBeginExtend \
-tkListboxBeginSelect tkListboxBeginToggle tkListboxCancel tkListboxDataExtend \
-tkListboxExtendUpDown tkListboxMotion tkListboxSelectAll tkListboxUpDown \
-tkMbButtonUp tkMbEnter tkMbLeave tkMbMotion tkMbPost tkMenuButtonDown \
-tkMenuEscape tkMenuFind tkMenuFindName tkMenuFirstEntry tkMenuInvoke \
-tkMenuLeave tkMenuLeftRight tkMenuMotion tkMenuNextEntry tkMenuUnpost \
-tkPostOverPoint tkSaveGrabInfo tkScaleActivate tkScaleButton2Down \
-tkScaleButtonDown tkScaleControlPress tkScaleDrag tkScaleEndDrag \
-tkScaleIncrement tkScreenChanged tkScrollButton2Down tkScrollButtonDown \
-tkScrollButtonUp tkScrollByPages tkScrollByUnits tkScrollDrag \
-tkScrollEndDrag tkScrollSelect tkScrollStartDrag tkScrollToPos \
-tkScrollTopBottom tkTextAutoScan tkTextButton1 tkTextClipboardKeysyms \
-tkTextInsert tkTextKeyExtend tkTextKeySelect tkTextNextPara tkTextPrevPara \
-tkTextResetAnchor tkTextScrollPages tkTextSelectTo tkTextSetCursor \
-tkTextTranspose tkTextUpDownLine tkTraverseToMenu tkTraverseWithinMenu \
-tk_popup tkwait toplevel trace unknown unset update uplevel upvar while winfo wm:
-
-
-# JL - Added visbasic 6 Aug 1996. Note: this is not complete!
-VisualBasic|vbasic:\
-       :pb=^\d?*?\d?\p\d?\(\a?\)(\d|{):bb={:be=}:\
-       :cb=':ce=$:sb=":se=":\
-       :le=\e':tl:\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :kw= Access And As Asc Boolean Byte Call Case Chr Close Currency Debug \
-       Declare Dim Do Double Else ElseIf End Exit False For Format Function \
-       Get If Input Integer Left Len Line Long Loop Lset Ltrim Mid Mod Next \
-       Not Object On Open Or Output Print Private Pset Public Put Read Right \
-       Rset Rtrim Select Single Static Str String Sub Then To Trim True Type \
-       Until Val Variant Wend While :
-
-VMSasm:\
-       :pb=^\d?.entry\d\p(\d|,|$|;):\
-       :oc:\
-       :cb=;:ce=$:\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :sb=(.ident|.asci(x|c|d|i|z))\d:se=$:\
-       :kw=.address .align .ascix .ascic .ascid .ascii .asciz \
-       .blkx .byte .cross .debug .default .d_floating .double \
-       .disable .enable .end .endc .endm .endr .entry .error \
-       .even .external .f_floating .float .g_floating .ident .if \
-       .if_x .iff .irp .irpc .library .link .list .long .macro \
-       .mask .mcall .mdelete .mexit .narg .nchr .nlist .nocross \
-       .noshow .ntype .octa .odd .opdef .packed .page .print \
-       .psect .quad .refn .repeat .restore_psect .save_psect \
-       .show .signed_byte .signed_word .subtitle .title .transfer \
-       .warn .weak .word:
-
-yacc|y:\
-       :zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
-       :cb=/*:ce=*/:sb=":se=\e":lb=':le=\e':tl:\
-       :kw=%{ %} %% %union %token %type\
-       #else #endif #if #ifdef #ifndef #include #undef #define else endif\
-       if ifdef ifndef include undef:
-
-
-EndOfLanguageDefinitions:
-#
-# The following entries are NOT language definitions,
-# but configuration specifications for the LGrind program
-#
-BeginOfConfigurationItems:
-
-# a list of extensions and the language that belongs to them
-# these can be wrong or too system specific
-# recommendations appreciated
-extensions:\
-       :c=c:\
-       :C=c++:cpp=c++:cc=c++:h=c++:\
-       :pas=pascal:\
-       :ads=ada:adb=ada:\
-       :tcl=tcl/tk:\
-       :y=yacc:\
-       :tex=latex:\
-       :java=java:\
-       :mod=modula2:\
-       :bas=visualbasic:\
-       :ps=postscript:eps=postscript:pfa=postscript:\
-       :pro=prolog:\
-       :scm=scheme:\
-       :m=matlab:\
-       :ml=sml/nj:\
-       :f=f77:F=f77:for=f77:\
-       :l=lex:\
-       :k=kimwitu++:\
-       :py=python:
-
-# character substitution table
-chartab:\
-:84="a:94="o:81="u:e1="s:8e="A:99="O:9a="U:e0=$\\alpha$:
-
-# preamble to put at the beginning of a stand-alone listing
-firstpreamble:\
-\\documentclass[twoside]{article}\n\
-\\usepackage[procnames,noindent]{lgrind}\n\
-\\usepackage{fancyhdr}\n\
-\\usepackage{makeidx}\n\
-\\pagestyle{fancy}\n\n\
-\\makeindex\n\n\
-\\begin{document}\n
-
-# postamble to put at the very end of a stand-alone listing
-postamble:\
-\\printindex\n\
-\\end{document}
-
-# preamble to put before each file in a stand-alone listing
-filepreamble:\
-\\renewcommand{\\footrulewidth}{0.4pt}\n\
-\\fancyhead[C]{\\lgrindhead}\n\
-\\fancyhead[LO,RE]{\\lgrindfilesize~Bytes\\\\\\lgrindmodtime}\n\
-\\fancyhead[RO,LE]{\\bfseries \\lgrindfilename\\\\\
-\\lgrindmodday.\\lgrindmodmonth.\\lgrindmodyear}\n\
-\\fancyfoot[C]{\\bfseries\\thepage}\n\
-\\setlength{\\headheight}{24pt}\n
-
-# preferences for line numbering, changing fonts etc.
-# (comes after "\begin{lgrind}")
-configuration:
-