* support for hevea

* provided local copies or required styles since debian does not
    supply the listings.sty anymore
This commit is contained in:
peter 2003-03-16 15:22:18 +00:00
parent c30ebcb633
commit 356a3d1609
30 changed files with 7361 additions and 898 deletions

View File

@ -24,8 +24,12 @@
# Which docs are made when 'html' is specified
HTML = user units ref prog
# Can be 'report','book' or 'html'
# Can be 'report','book', 'html', 'hevea'
ifdef USEHEVEA
PREAMBLETYPE = hevea
else
PREAMBLETYPE = report
endif
# Where do you want the html files to be put ?
ifndef PREFIXINSTALLDIR
@ -59,6 +63,11 @@ LATEX2HTMLOPTS = -no_reuse -up_url "../fpctoc.html"\
-html_version 4.0 -split 3
endif
# Hevea conversion.
ifndef HEVEA
HEVEA = /usr/bin/hevea
endif
# Ascii mode ? (i.e. no pics)
ifndef ASCIIMODE
ASCIIMODE=NO
@ -115,7 +124,8 @@ GTKPDF=$(addsuffix .pdf,$(addprefix gtk, 1 2 3 4 5))
# Check if ascii-mode requested
ifeq ($(ASCIIMODE),YES)
LATEX2HTMLOPTS:=$(LATEX2HTMLOPTS) -ascii_mode
LATEX2HTMLOPTS+=-ascii_mode
HEVEAOPTS+=-text
endif
@ -175,11 +185,14 @@ help:
clean:
-rm -f preamble.inc date.inc
-rm -f *.htex
-rm -f *.htex *.hind *.haux *.htoc $(addsuffix .html,$(HTML))
-rm -rf $(HTML) onechap
-rm -f $(TOC) $(LOG) $(DVI) $(PDF) $(AUX) $(OUT) $(PS) *.i* $(LOT) $(TXT) $(CHK)
-rm -f onechap.dvi onechap.pdf onechap.ps onechap.out onechap.log onechap.aux
# Styles
-rm -f $(notdir $(wildcard styles/*))
# Units
-$(MAKE) -C crtex clean
-$(MAKE) -C dosex clean
@ -274,12 +287,17 @@ scripts.chk:
touch scripts.chk
endif
# Local copy of the required styles
syntax.sty: styles/syntax.sty
cp $(wildcard styles/*) .
ifndef inWinNT
includes: date.inc preamble.inc scripts.chk
includes: date.inc preamble.inc syntax.sty scripts.chk
else
includes: date.inc preamble.inc
includes: date.inc preamble.inc syntax.sty
endif
#####################################################################
# Tex from XML
#####################################################################
@ -330,6 +348,43 @@ all : dvi ps pdf txt html
# Html creation
#####################################################################
.PHONY: htex user prog units onechap ref internal html hevea
ifdef INSTALLDEBUG
#
# Installation debugging
#
$(HTML):
mkdir $@
cp $@.tex $@/index.html
html: $(HTML)
else
ifdef USEHEVEA
#
# Hevea tex 2 html conversion
#
htmlincludes: includes
%.html: %.tex fpc-hevea.tex
$(HEVEA) $(HEVEAOPTS) $<
user: htmlincludes user.html
units: htmlincludes units.html
prog: htmlincludes prog.html
onechap: htmlincludes onechap.html
ref: htmlincludes ref.html
html: htmlincludes $(addsuffix .html,$(HTML))
else
#
# Latex2HTML
#
htex: htex.chk
htex.chk: $(wildcard *.tex) includes
./tex2htex
@ -337,15 +392,12 @@ htex.chk: $(wildcard *.tex) includes
user: user.chk
user.chk: htex.chk includes
ifdef INSTALLDEBUG
mkdir user
cp user.tex user/index.html
else
cp -f preamble.html preamble.inc
$(LATEX2HTML) $(LATEX2HTMLOPTS) -split 2 -link 2\
-t "User's guide for Free Pascal" user.htex
-sed -f foot.sed <user/footnode.html >user/footnote.html
-mv user/footnote.html user/footnode.html
ifndef DEBUG
-rm -f user/labels.pl user/internals.pl user/.*.pag user/.*.dir
-rm -f user/images.* user/*.log user/WARNINGS
endif
@ -353,10 +405,6 @@ endif
units: units.chk
units.chk: unitex.chk htex.chk includes
ifdef INSTALLDEBUG
mkdir units
cp units.tex units/index.html
else
cp -f preamble.html preamble.inc
$(LATEX2HTML) $(LATEX2HTMLOPTS) -split 3 -link 2\
-t "Unit reference for Free Pascal" units.htex
@ -365,16 +413,11 @@ else
ifndef DEBUG
-rm -f units/labels.pl units/internals.pl units/.*.pag units/.*.dir
-rm -f units/images.* units/*.log units/WARNINGS
endif
endif
touch units.chk
ref: ref.chk
ref.chk: refex.chk htex.chk includes
ifdef INSTALLDEBUG
mkdir ref
cp ref.tex ref/index.html
else
cp -f preamble.html preamble.inc
$(LATEX2HTML) $(LATEX2HTMLOPTS) -split 4 -link 2\
-t "Free Pascal reference guide" ref.htex
@ -383,16 +426,11 @@ else
ifndef DEBUG
-rm -f ref/labels.pl ref/internals.pl ref/.*.pag ref/.*.dir
-rm -f ref/images.* ref/*.log ref/WARNINGS
endif
endif
touch ref.chk
prog: prog.chk
prog.chk: progex.chk htex.chk includes
ifdef INSTALLDEBUG
mkdir prog
cp prog.tex prog/index.html
else
cp -f preamble.html preamble.inc
$(LATEX2HTML) $(LATEX2HTMLOPTS) -split 2 -link 2\
-t "Free Pascal programmers guide" prog.htex
@ -401,16 +439,11 @@ else
ifndef DEBUG
-rm -f prog/labels.pl prog/internals.pl prog/.*.pag prog/.*.dir
-rm -f prog/images.* prog/*.log prog/WARNINGS
endif
endif
touch prog.chk
internal: internal.chk
internal.chk: htex.chk
ifdef INSTALLDEBUG
mkdir internal
cp internal.tex internal/index.html
else
cp -f preamble.html preamble.inc
$(LATEX2HTML) $(LATEX2HTMLOPTS) -split 4 -link 2\
-t "Free Pascal Compiler Documentation" internal.htex
@ -419,16 +452,11 @@ else
ifndef DEBUG
-rm -f internal/labels.pl internal/internals.pl internal/.*.pag internal/.*.dir
-rm -f internal/images.* internal/*.log internal/WARNINGS
endif
endif
touch internal.chk
onechap: onechap.chk
onechap.chk: unitex.chk htex.chk includes
ifdef INSTALLDEBUG
mkdir onechap
cp onechap.tex onechap/index.html
else
cp -f preamble.html preamble.inc
$(LATEX2HTML) $(LATEX2HTMLOPTS) -split 4 -link 2\
-t "Free Pascal reference guide" onechap.htex
@ -437,12 +465,18 @@ else
ifndef DEBUG
-rm -f onechap/labels.pl onechap/internals.pl onechap/.*.pag onechap/.*.dir
-rm -f onechap/images.* onechap/*.log onechap/WARNINGS
endif
endif
touch onechap.chk
html: $(HTML)
endif # USEHEVEA
endif # INSTALLDEBUG
hevea:
$(MAKE) html USEHEVEA=1
classes: classes/index.html
classes/index.html: classes.xml
@ -589,7 +623,12 @@ execute:
#
# $Log$
# Revision 1.16 2003-02-24 23:37:52 michael
# Revision 1.17 2003-03-16 15:22:18 peter
# * support for hevea
# * provided local copies or required styles since debian does not
# supply the listings.sty anymore
#
# Revision 1.16 2003/02/24 23:37:52 michael
# + Preparations for version 1.0.8
#
# Revision 1.15 2002/11/10 12:22:10 carl

View File

@ -477,9 +477,10 @@ name is left as it is, otherwise it is converted to uppercase.
\Errors
\seep{FSplit}
\SeeAlso
\lstinputlisting{dosex/ex5.pp}
\end{functionl}
\FPCexample{ex5}
\begin{procedure}{FindClose}
\Declaration
Procedure FindClose (Var F: SearchRec);

180
docs/fpc-hevea.tex Normal file
View File

@ -0,0 +1,180 @@
%
% $Id$
%
% This file is part of the FPC documentation.
% Copyright (C) 1997, by Michael Van Canneyt
%
% The FPC documentation is free text; you can redistribute it and/or
% modify it under the terms of the GNU Library General Public License as
% published by the Free Software Foundation; either version 2 of the
% License, or (at your option) any later version.
%
% The FPC Documentation 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
% Library General Public License for more details.
%
% You should have received a copy of the GNU Library General Public
% License along with the FPC documentation; see the file COPYING.LIB. If not,
% write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
% Boston, MA 02111-1307, USA.
\usepackage{makeidx}
\usepackage{ifthen}
%
% Fake packages
%
\newcommand{\xspace}{ }
\newenvironment{multicols}[1]{}{}
\newcommand{\docdescription}[1]{\def\@FPCDescription{#1}}
\gdef\@FPCDescription{}%
\newcommand{\docversion}[1]{\def\@FPCVersion{#1}}
\gdef\@FPCVersion{}%
%
% FPC environments
%
% Remarks
\newenvironment{remark}{\par\textbf{Remark:} }{\par}
% List
\newenvironment{FPCList}{\begin{list}}{\end{list}}
% For Tables.
\newenvironment{FPCtable}[2]{\begin{table}\caption{#2}\begin{center}\begin{tabular}{#1}}{\end{tabular}\end{center}\end{table}}
% The same, but with label in third argument (tab:#3)
\newenvironment{FPCltable}[3]{\begin{table}\caption{#2}\label{tab:#3}\begin{center}\begin{tabular}{#1}}{\end{tabular}\end{center}\end{table}}
%
% Refs
%
\newcommand{\seefig}[1]{Figure \ref{fig:#1}\xspace}
\newcommand{\seefl}[2]{\ahref{fu:#2}{#1}}
\newcommand{\seepl}[2]{\ahref{pro:#2}{#1}}
\newcommand{\seetypel}[2]{\ahref{ty:#2}{#1}}
\newcommand{\seeconstl}[2]{\ahref{co:#2}{#1}}
\newcommand{\seevarl}[2]{\ahref{var:#2}{#1}}
\newcommand{\seec}[1]{chapter \ref{ch:#1}\xspace}
\newcommand{\sees}[1]{section \ref{se:#1}\xspace}
\newcommand{\seeo}[1]{\var{-#1}, (see \ref{option:#1})\xspace}
\newcommand{\seet}[1]{table (\ref{tab:#1})\xspace}
%
% Function/procedure environments
%
\newenvironment{functionl}[2]{\subsection{#1}\index{#1}\label{fu:#2}\begin{FPCList}}{\end{FPCList}}
\newenvironment{procedurel}[2]{\subsection{#1}\index{#1}\label{pro:#2}\begin{FPCList}}{\end{FPCList}}
\newenvironment{method}[2]{\subsection{#1}\index{#1}\label{#2}\begin{FPCList}}{\end{FPCList}}
\newenvironment{property}[2]{\subsection{#1}\index{#1}\label{#2}\begin{FPCList}}{\end{FPCList}}
\newenvironment{function}[1]{\begin{functionl}{#1}{#1}}{\end{functionl}}
\newenvironment{procedure}[1]{\begin{procedurel}{#1}{#1}}{\end{procedurel}}
\newenvironment{typel}[2]{\subsection{#1}\index{#1}\label{ty:#2}\begin{FPCList}}{\end{FPCList}}
\newenvironment{type}[1]{\begin{typel}{#1}{#1}}{\end{typel}}
\newenvironment{constantl}[2]{\subsection{#1}\index{#1}\label{co:#2}\begin{FPCList}}{\end{FPCList}}
\newenvironment{constant}[1]{\begin{constantl}{#1}{#1}}{\end{constantl}}
\newenvironment{variablel}[2]{\subsection{#1}\index{#1}\label{var:#2}\begin{FPCList}}{\end{FPCList}}
\newenvironment{variable}[1]{\begin{variablel}{#1}{#1}}{\end{variablel}}
\newenvironment{ver2}{\par\textbf{version 2.0 only:}}{\par}
\newcommand{\Declaration}{\item[Declaration]\ttfamily}
\newcommand{\Description}{\item[Description]\rmfamily}
\newcommand{\Portability}{\item[Portability]\rmfamily}
\newcommand{\Errors}{\item[Errors]\rmfamily}
\newcommand{\Visibility}{\item[Visibility]\rmfamily}
\newcommand{\Access}{\item[Access]\rmfamily}
\newcommand{\Synopsis}{\item[Synopsis]\rmfamily}
\newcommand{\Arguments}{\item[Arguments]\rmfamily}
\newcommand{\SeeAlso}{\item[See also]\rmfamily}
%
% Ref without labels
%
\newcommand{\seef}[1]{\seefl{#1}{#1}}
\newcommand{\seep}[1]{\seepl{#1}{#1}}
\newcommand{\seetype}[1]{\seetypel{#1}{#1}}
\newcommand{\seevar}[1]{\seevarl{#1}{#1}}
\newcommand{\seeconst}[1]{\seeconstl{#1}{#1}}
%
% man page references don't need labels.
%
\newcommand{\seem}[2]{\texttt{#1} (#2) }
%
% HTML references
%
\newcommand{\seeurl}[2]{\ahref{#2}{#1}}
%
% for easy typesetting of variables.
%
\newcommand{\var}[1]{\texttt {#1}}
\newcommand{\file}[1]{\textsf {#1}}
\newcommand{\key}[1]{\textsc{#1}}
\newcommand{\menu}[1]{\textbf{"#1"}}
%
% Useful references.
%
\newcommand{\progref}{\ahref{../prog/prog.html}{Programmers guide}\xspace}
\newcommand{\refref}{\ahref{../ref/ref.html}{Reference guide}\xspace}
\newcommand{\userref}{\ahref{../user/user.html}{Users guide}\xspace}
\newcommand{\unitsref}{\ahref{../units/units.html}{Unit reference}\xspace}
%
% Commands to reference these things.
%
\newcommand{\olabel}[1]{\label{option:#1}}
%
% some OSes
%
\newcommand{\linux}{\textsc{linux}\xspace}
\newcommand{\unix}{\textsc{unix}\xspace}
\newcommand{\dos} {\textsc{dos}\xspace}
\newcommand{\msdos}{\textsc{ms-dos}\xspace}
\newcommand{\ostwo}{\textsc{os/2}\xspace}
\newcommand{\windows}{\textsc{Windows}\xspace}
\newcommand{\windowsnt}{\textsc{Windows NT}\xspace}
\newcommand{\fpc}{Free Pascal\xspace}
\newcommand{\gnu}{\textsc{gnu}\xspace}
\newcommand{\atari}{\textsc{Atari}\xspace}
\newcommand{\amiga}{\textsc{Amiga}\xspace}
\newcommand{\solaris}{\textsc{Solaris}\xspace}
\newcommand{\qnx}{\textsc{QNX Realtime platform}\xspace}
\newcommand{\beos}{\textsc{BeOS}\xspace}
\newcommand{\palmos}{\textsc{PalmOS}\xspace}
\newcommand{\netbsd}{\textsc{NetBSD}\xspace}
\newcommand{\openbsd}{\textsc{OpenBSD}\xspace}
\newcommand{\win}{\textsc{Win32}\xspace}
\newcommand{\freebsd}{\textsc{FreeBSD}\xspace}
\newcommand{\tp}{Turbo Pascal\xspace}
\newcommand{\delphi}{Delphi}
%
% Some versions
%
\newcommand{\fpcversion}{1.0.8}
%
% For examples
%
\newcommand{\FPCexample}[1]{\begin{verbatim}\input{\exampledir/#1.pp}\end{verbatim}}
\newcommand{\Cexample}[1]{\begin{verbatim}\input{\exampledir/#1.c}\end{verbatim}}
\newcommand{\exampledir}{.}
\newcommand{\FPCexampledir}[1]{\renewcommand{\exampledir}{#1}}
%
% Picture including
%
\newcommand{\FPCpic}[3]{%
\linebreak%
\begin{center}
\textbf{Figure \ref{fig:#3} #1}%
\linebreak%
\label{fig:#3}%
\imgsrc{../pics/#2/#3.png}%
\end{center}
\linebreak%
}
%
% Categorical Function/procedure overviews
%
\newenvironment{funclist}{\begin{list}}{\end{list}}
\newcommand{\funcrefl}[3]{\item[\ahref{#2}{fu:#2} #3]}
\newcommand{\funcref}[2]{\item[\ahref{#1}{fu:#1} #2]}
\newcommand{\procrefl}[3]{\item[\ahref{#2}{pro:#2} #3]}
\newcommand{\procref}[2]{\item[\ahref{#1}{pro:#1} #2]}
%
% end of fpc-html.tex
%

View File

@ -149,6 +149,10 @@
%
\newcommand{\seem}[2]{\texttt{#1} (#2) }
%
% HTML references
%
\newcommand{\seeurl}[2]{\htmladdnormallink{#1}{#2}}
%
% for easy typesetting of variables.
%
\newcommand{\var}[1]{\texttt {#1}}
@ -194,6 +198,7 @@
\newcommand{\beos}{\textsc{BeOS}\xspace}
\newcommand{\palmos}{\textsc{PalmOS}\xspace}
\newcommand{\netbsd}{\textsc{NetBSD}\xspace}
\newcommand{\openbsd}{\textsc{OpenBSD}\xspace}
\newcommand{\win}{\textsc{Win32}\xspace}
\newcommand{\freebsd}{\textsc{FreeBSD}\xspace}
\newcommand{\tp}{Turbo Pascal\xspace}
@ -234,19 +239,33 @@
%
% For examples
%
\latex{%
\newcommand{\FPCexample}[1]{%
\newcommand{\FPCexample}[1]{%
\par \file{\textbf{Listing:} \exampledir/#1.pp}%
\lstinputlisting{\exampledir/#1.pp}%
}
\newcommand{\Cexample}[1]{%
}
\newcommand{\Cexample}[1]{%
\par \file{\textbf{Listing:} \exampledir/#1.c}%
\lstinputlisting[language=c]{\exampledir/#1.c}%
}
}
\newcommand{\exampledir}{.}
\newcommand{\FPCexampledir}[1]{\renewcommand{\exampledir}{#1}}
%
% Picture including
%
\newcommand{\FPCpic}[3]{%
\begin{figure}[ht]%
\begin{center}
\caption{#1}%
\label{fig:#3}%
\ifpdf%
\epsfig{file=pics/#2/#3.png,width=\textwidth}%
\else%
\epsfig{file=pics/#2/#3.eps,width=\textwidth}%
\fi%
\end{center}
\end{figure}%
}
%
% Categorical Function/procedure overviews
%
\newenvironment{funclist}{%

View File

@ -19,6 +19,8 @@
% Boston, MA 02111-1307, USA.
%
\chapter{The GETOPTS unit.}
\FPCexampledir{optex}
This document describes the GETOPTS unit for Free Pascal. It was written for
\linux\ by Micha\"el Van Canneyt. It now also works for all supported platforms.
@ -137,6 +139,5 @@ then gives the character which caused the error. If \var{OptErr} is
\SeeAlso
\seef{GetLongOpts}, \seem{getopt}{3}
\end{function}
\latex{\lstinputlisting{optex/optex.pp}}
\html{\input{optex/optex.tex}}
\FPCexample{optex}

View File

@ -1,4 +1,7 @@
\chapter{The GO32 unit}
\label{ch:go32unit}
\FPCexampledir{go32ex}
This chapter of the documentation describe the GO32 unit for the Free Pascal
compiler under \dos. It was donated by Thomas Schatzl
(tom\_at\_work@geocities.com), for which my thanks.
@ -16,7 +19,7 @@ I hope the following explanations and introductions aren't too confusing at
all. If you notice an error or bug send it to the FPC mailing list or
directly to me.
So let's get started and happy and error free coding I wish you....
\hfill Thomas Schatzl, 25. August 1998
Thomas Schatzl, 25. August 1998
\section{Protected mode memory organization}
\subsection{What is DPMI}
The \dos Protected Mode Interface helps you with various aspects of protected
@ -155,8 +158,7 @@ interrupt) command to the responsible controller; this is acomplished by
sending the value 20h to port 20h (for the first controller) or A0h (for the
second controller).
The following example shows how to redirect the keyboard interrupt.
\latex{\lstinputlisting{go32ex/keyclick.pp}}
\html{\input{go32ex/keyclick.tex}}
\FPCexample{keyclick}
\subsection{Software interrupts}
Ordinarily, a handler installed with
\seefl{set\_pm\_interrupt}{setpminterrupt} only services software
@ -193,10 +195,8 @@ See also:
\seefl{global\_dos\_free}{globaldosfree},
\seef{realintr}
The following examples illustrate the use of software interrupts.
\latex{\lstinputlisting{go32ex/softint.pp}}
\html{\input{go32ex/softint.tex}}
\latex{\lstinputlisting{go32ex/rmpmint.pp}}
\html{\input{go32ex/rmpmint.tex}}
\FPCexample{softint}
\FPCexample{rmpmint}
\subsection{Real mode callbacks}
The callback mechanism can be thought of as the converse of calling a real
mode procedure (i.e. interrupt), which allows your program to pass
@ -387,8 +387,7 @@ function.
\seefl{set\_segment\_base\_address}{setsegmentbaseaddress}
\end{functionl}
\latex{\lstinputlisting{go32ex/seldes.pp}}
\html{\input{go32ex/seldes.tex}}
\FPCexample{seldes}
\begin{functionl}{allocate\_memory\_block}{allocatememoryblock}
\Declaration
Function allocate\_memory\_block (size:Longint) : Longint;
@ -525,8 +524,7 @@ Notes: No range check is performed.
\seepl{seg\_fillchar}{segfillchar},
\seepl{seg\_fillword}{segfillword}
\end{procedure}
\latex{\lstinputlisting{go32ex/textmess.pp}}
\html{\input{go32ex/textmess.tex}}
\FPCexample{textmess}
\begin{procedure}{dosmemfillword}
\Declaration
Procedure dosmemfillword (seg,ofs : Word; count : Longint; w : Word);
@ -819,8 +817,7 @@ Check the \var{int31error} variable.
\SeeAlso
\seefl{get\_page\_size}{getpagesize}
\end{functionl}
\latex{\lstinputlisting{go32ex/meminfo.pp}}
\html{\input{go32ex/meminfo.tex}}
\FPCexample{meminfo}
\begin{functionl}{get\_next\_selector\_increment\_value}{getnextselectorincrementvalue}
\Declaration
Function get\_next\_selector\_increment\_value : Word;
@ -904,8 +901,7 @@ Check the \var{int31error} variable.
\SeeAlso
\seefl{free\_rm\_callback}{freermcallback}
\end{functionl}
\latex{\lstinputlisting{go32ex/callback.pp}}
\html{\input{go32ex/callback.tex}}
\FPCexample{callback}
\begin{functionl}{get\_rm\_interrupt}{getrminterrupt}
\Declaration
Function get\_rm\_interrupt (vector : byte; var intaddr :
@ -943,8 +939,7 @@ None.
\SeeAlso
constants returned by \seefl{get\_run\_mode}{getrunmode}
\end{functionl}
\latex{\lstinputlisting{go32ex/getrunmd.pp}}
\html{\input{go32ex/getrunmd.tex}}
\FPCexample{getrunmd}
\begin{functionl}{get\_segment\_base\_address}{getsegmentbaseaddress}
\Declaration
Function get\_segment\_base\_address
@ -1036,8 +1031,7 @@ should only be freed by a \seefl{global\_dos\_free}{globaldosfree} call.
\SeeAlso
\seefl{global\_dos\_free}{globaldosfree}
\end{functionl}
\latex{\lstinputlisting{go32ex/buffer.pp}}
\html{\input{go32ex/buffer.tex}}
\FPCexample{buffer}
\begin{functionl}{global\_dos\_free}{globaldosfree}
\Declaration
Function global\_dos\_free (selector :Word) : boolean;
@ -1201,8 +1195,7 @@ Return values: None.
\SeeAlso
\seef{inportb}, \seep{outportl}, \seep{outportw}
\end{procedure}
\latex{\lstinputlisting{go32ex/outport.pp}}
\html{\input{go32ex/outport.tex}}
\FPCexample{outport}
\begin{procedure}{outportl}
\Declaration
Procedure outportl (port : Word; data : Longint);
@ -1264,8 +1257,7 @@ executing an IRET.
\SeeAlso
\end{function}
\latex{\lstinputlisting{go32ex/flags.pp}}
\html{\input{go32ex/flags.tex}}
\FPCexample{flags}
\begin{procedurel}{seg\_fillchar}{segfillchar}
\Declaration
Procedure seg\_fillchar (seg : Word; ofs : Longint; count : Longint; c : char);
@ -1294,8 +1286,7 @@ Notes: No range check is done in any way.
\seepl{dosmemput}{dosmemput},
\seepl{dosmemmove}{dosmemmove}
\end{procedurel}
\latex{\lstinputlisting{go32ex/vgasel.pp}}
\html{\input{go32ex/vgasel.tex}}
\FPCexample{vgasel}
\begin{procedurel}{seg\_fillword}{segfillword}
\Declaration
Procedure seg\_fillword (seg : Word; ofs : Longint; count : Longint; w :Word);
@ -1432,8 +1423,7 @@ protected mode address.
\seefl{set\_rm\_interrupt}{setrminterrupt},
\seefl{get\_rm\_interrupt}{getrminterrupt}
\end{functionl}
\latex{\lstinputlisting{go32ex/intpm.pp}}
\html{\input{go32ex/intpm.tex}}
\FPCexample{intpm}
\begin{functionl}{set\_rm\_interrupt}{setrminterrupt}
\Declaration
Function set\_rm\_interrupt (vector : byte; const intaddr :

View File

@ -216,7 +216,7 @@ None.
\seefl{Gpm\_Open}{GpmOpen}
\end{functionl}
for an example, see \seefl{Gpm_GetEvent}{GpmGetEvent}.
for an example, see \seefl{Gpm\_GetEvent}{GpmGetEvent}.
\begin{functionl}{Gpm\_FitValues}{GpmFitValues}
\Declaration
@ -360,7 +360,7 @@ On Error, the return value is -1.
\seefl{Gpm\_Open}{GpmOpen}
\end{functionl}
for an example, see \seefl{Gpm_GetEvent}{GpmGetEvent}.
for an example, see \seefl{Gpm\_GetEvent}{GpmGetEvent}.
\begin{functionl}{Gpm\_PopRoi}{GpmPopRoi}
\Declaration

View File

@ -19,6 +19,8 @@
% Boston, MA 02111-1307, USA.
%
\chapter{The HEAPTRC unit.}
\FPCexampledir{heapex}
This chapter describes the HEAPTRC unit for \fpc. It was written by
Pierre Muller. It is system independent, and works on all supported systems.
@ -53,8 +55,8 @@ If you use the \var{-gh} switch, the compiler will insert the unit by itself,
so you don't have to include it in your uses clause.
The following example shows how to use the heaptrc unit.
\latex{\lstinputlisting{heapex/heapex.pp}}
\html{\input{heapex/heapex.tex}}
\FPCexample{heapex}
This is the memory dump shown when running this program:
\begin{verbatim}
@ -186,8 +188,7 @@ output, and a \seep{DumpHeap} is executed.
\end{procedure}
\latex{\lstinputlisting{heapex/setinfo.pp}}
\html{\input{heapex/setinfo.tex}}
\FPCexample{setinfo}
\begin{procedure}{SetHeapTraceOutput}
\Declaration
@ -206,7 +207,12 @@ trace.
%
% $Log$
% Revision 1.1 2000-07-13 09:10:04 michael
% Revision 1.2 2003-03-16 15:22:18 peter
% * support for hevea
% * provided local copies or required styles since debian does not
% supply the listings.sty anymore
%
% Revision 1.1 2000/07/13 09:10:04 michael
% + Initial import
%
% Revision 1.6 2000/07/11 18:07:26 peter
@ -227,4 +233,3 @@ trace.
% Revision 1.1 1998/12/14 23:17:02 michael
% + INitial implementation
%
%

File diff suppressed because it is too large Load Diff

View File

@ -19,6 +19,9 @@
% Boston, MA 02111-1307, USA.
%
\chapter{The IPC unit.}
\label{ch:ipcunit}
\FPCexampledir{ipcex}
This chapter describes the IPC unit for Free Pascal. It was written for
\linux by Micha\"el Van Canneyt. It gives all the functionality of system V
Inter-Process Communication: shared memory, semaphores and messages.
@ -410,8 +413,7 @@ On error, \var{False} is returned, and \var{IPCerror} is set accordingly.
\seef{msgget}, \seef{msgsnd}, \seef{msgrcv}
\end{function}
\latex{\lstinputlisting{ipcex/msgtool.pp}}
\html{\input{ipcex/msgtool.tex}}
\FPCexample{msgtool}
\begin{function}{semget}
\Declaration
@ -547,9 +549,7 @@ The function returns -1 on error, and \var{IPCerror} is set accordingly.
\seef{semget}, \seef{semop}
\end{function}
\latex{\lstinputlisting{ipcex/semtool.pp}}
\html{\input{ipcex/semtool.tex}}
\FPCexample{semtool}
\begin{function}{shmget}
\Declaration
@ -652,5 +652,4 @@ is set.
\seef{shmget}, \seef{shmat}, \seef{shmdt}
\end{function}
\latex{\lstinputlisting{ipcex/shmtool.pp}}
\html{\input{ipcex/shmtool.tex}}
\FPCexample{shmtool}

View File

@ -19,6 +19,9 @@
% Boston, MA 02111-1307, USA.
%
\chapter{The Objects unit.}
\label{ch:objectsunit}
\FPCexampledir{objectex}
This chapter documents the \file{objects} unit. The unit was implemented by
many people, and was mainly taken from the FreeVision sources. It has been
ported to all supported platforms.
@ -158,8 +161,7 @@ If not enough memory is available, an 'out of memory' error will occur.
\seep{DisposeStr}
\end{function}
\latex{\lstinputlisting{objectex/ex40.pp}}
\html{\input{objectex/ex40.tex}}
\FPCexample{ex40}
\begin{procedure}{DisposeStr}
\Declaration
@ -235,8 +237,7 @@ In case of error (if a object with the same \var{ObjType}) is already
registered), run-time error 212 occurs.
\end{procedure}
\latex{\lstinputlisting{objectex/myobject.pp}}
\html{\input{objectex/myobject.tex}}
\FPCexample{myobject}
\begin{function}{LongMul}
\Declaration
@ -295,8 +296,7 @@ None.
\seef{TRect.Equals}, \seef{TRect.Contains}
\end{function}
\latex{\lstinputlisting{objectex/ex1.pp}}
\html{\input{objectex/ex1.tex}}
\FPCexample{ex1}
\begin{function}{TRect.Equals}
\Declaration
@ -337,8 +337,7 @@ None.
\seepl{Assign}{TRect.Assign}
\end{procedure}
\latex{\lstinputlisting{objectex/ex2.pp}}
\html{\input{objectex/ex2.tex}}
\FPCexample{ex2}
\begin{procedure}{TRect.Union}
\Declaration
@ -352,8 +351,7 @@ None.
\seepl{Intersect}{TRect.Intersect}
\end{procedure}
\latex{\lstinputlisting{objectex/ex3.pp}}
\html{\input{objectex/ex3.tex}}
\FPCexample{ex3}
\begin{procedure}{TRect.Intersect}
\Declaration
@ -368,8 +366,7 @@ None.
\seepl{Union}{TRect.Union}
\end{procedure}
\latex{\lstinputlisting{objectex/ex4.pp}}
\html{\input{objectex/ex4.tex}}
\FPCexample{ex4}
\begin{procedure}{TRect.Move}
\Declaration
@ -384,8 +381,7 @@ None.
\seepl{Grow}{TRect.Grow}
\end{procedure}
\latex{\lstinputlisting{objectex/ex5.pp}}
\html{\input{objectex/ex5.tex}}
\FPCexample{ex5}
\begin{procedure}{TRect.Grow}
\Declaration
@ -406,8 +402,7 @@ None.
\end{procedure}
\latex{\lstinputlisting{objectex/ex6.pp}}
\html{\input{objectex/ex7.tex}}
\FPCexample{ex6}
\begin{procedure}{TRect.Assign}
\Declaration
@ -463,8 +458,7 @@ the object is indeed allocated on the heap.
\seepl{Init}{TObject.Init}, \seepl{Done}{TObject.Done}
\end{procedure}
\latex{\lstinputlisting{objectex/ex7.pp}}
\html{\input{objectex/ex7.tex}}
\FPCexample{ex7}
\begin{procedure}{TObject.Done}
\Declaration
@ -480,8 +474,7 @@ None.
\seepl{Free}{TObject.Free}, \seepl{Init}{TObject.Init}
\end{procedure}
\latex{\lstinputlisting{objectex/ex8.pp}}
\html{\input{objectex/ex8.tex}}
\FPCexample{ex8}
\section{TStream}
\label{se:TStream}
@ -539,8 +532,7 @@ On error, \var{TStream.Status} is set, and NIL is returned.
\seepl{Put}{TStream.Put}
\end{function}
\latex{\lstinputlisting{objectex/ex9.pp}}
\html{\input{objectex/ex9.tex}}
\FPCexample{ex9}
\begin{function}{TStream.StrRead}
\Declaration
@ -555,8 +547,7 @@ On error, \var{Nil} is returned.
\seepl{StrWrite}{TStream.StrWrite}, \seefl{ReadStr}{TStream.ReadStr}
\end{function}
\latex{\lstinputlisting{objectex/ex10.pp}}
\html{\input{objectex/ex10.tex}}
\FPCexample{ex10}
\begin{function}{TStream.GetPos}
@ -571,8 +562,7 @@ position in the stream. Otherwise it returns \var{-1}
\seepl{Seek}{TStream.Seek}, \seefl{GetSize}{TStream.GetSize}
\end{function}
\latex{\lstinputlisting{objectex/ex11.pp}}
\html{\input{objectex/ex11.tex}}
\FPCexample{ex11}
\begin{function}{TStream.GetSize}
@ -587,8 +577,7 @@ the size of the stream, otherwise it returns \var{-1}.
\seepl{Seek}{TStream.Seek}, \seefl{GetPos}{TStream.GetPos}
\end{function}
\latex{\lstinputlisting{objectex/ex12.pp}}
\html{\input{objectex/ex12.tex}}
\FPCexample{ex12}
\begin{function}{TStream.ReadStr}
@ -604,8 +593,8 @@ On error (e.g. not enough memory), \var{Nil} is returned.
\seefl{StrRead}{TStream.StrRead}
\end{function}
\latex{\lstinputlisting{objectex/ex13.pp}}
\html{\input{objectex/ex13.tex}}
\FPCexample{ex13}
\begin{procedure}{TStream.Open}
\Declaration
@ -775,8 +764,8 @@ No checking is done to see if \var{Buf} is large enough to contain
\seefl{StrRead}{TStream.StrRead}
\end{procedure}
\latex{\lstinputlisting{objectex/ex18.pp}}
\html{\input{objectex/ex18.tex}}
\FPCexample{ex18}
\begin{procedure}{TStream.Write}
\Declaration
@ -810,8 +799,8 @@ None.
\seepl{Read}{TStream.Read}, \seepl{Write}{TStream.Write}
\end{procedure}
\latex{\lstinputlisting{objectex/ex19.pp}}
\html{\input{objectex/ex19.tex}}
\FPCexample{ex19}
\section{TDosStream}
\label{se:TDosStream}
@ -913,8 +902,8 @@ If an error occurs, the stream's status is set to \var{stError} and
\seep{TStream.Truncate}, \seefl{GetSize}{TStream.GetSize}
\end{procedure}
\latex{\lstinputlisting{objectex/ex16.pp}}
\html{\input{objectex/ex16.tex}}
\FPCexample{ex16}
\begin{procedure}{TDosStream.Seek}
\Declaration
@ -930,8 +919,8 @@ and the OS error code is stored in \var{ErrorInfo}.
\seep{TStream.Seek}, \seefl{GetPos}{TStream.GetPos}
\end{procedure}
\latex{\lstinputlisting{objectex/ex17.pp}}
\html{\input{objectex/ex17.tex}}
\FPCexample{ex17}
\begin{procedure}{TDosStream.Open}
\Declaration
@ -947,8 +936,8 @@ to \var{stOpenError}, and the OS error code is stored in \var{ErrorInfo}
\seep{TStream.Open}, \seepl{Close}{TDosStream.Close}
\end{procedure}
\latex{\lstinputlisting{objectex/ex14.pp}}
\html{\input{objectex/ex14.tex}}
\FPCexample{ex14}
\begin{procedure}{TDosStream.Read}
\Declaration
@ -1093,8 +1082,8 @@ see \seepl{Write}{TBufStream.Write} for more info on the errors.
\seepl{Done}{TBufStream.Done}
\end{procedure}
\latex{\lstinputlisting{objectex/ex15.pp}}
\html{\input{objectex/ex15.tex}}
\FPCexample{ex15}
\begin{procedure}{TBufStream.Truncate}
\Declaration
@ -1260,8 +1249,8 @@ to \var{stError}
\seep{TStream.Truncate}
\end{procedure}
\latex{\lstinputlisting{objectex/ex20.pp}}
\html{\input{objectex/ex20.tex}}
\FPCexample{ex20}
\begin{procedure}{TMemoryStream.Read}
\Declaration
@ -1381,8 +1370,8 @@ Errors returned can be those of \seefl{GetItem}{TCollection.GetItem}.
\seepl{Done}{TCollection.Done}.
\end{procedure}
\latex{\lstinputlisting{objectex/ex22.pp}}
\html{\input{objectex/ex22.tex}}
\FPCexample{ex22}
\begin{procedure}{TCollection.Done}
\Declaration
@ -1414,8 +1403,8 @@ error.
\seepl{Insert}{TCollection.Insert}
\end{function}
\latex{\lstinputlisting{objectex/ex23.pp}}
\html{\input{objectex/ex23.tex}}
\FPCexample{ex23}
\begin{function}{TCollection.IndexOf}
\Declaration
@ -1427,8 +1416,8 @@ If \var{Item} isn't present in the collection, -1 is returned.
\SeeAlso
\end{function}
\latex{\lstinputlisting{objectex/ex24.pp}}
\html{\input{objectex/ex24.pp}}
\FPCexample{ex24}
\begin{function}{TCollection.GetItem}
\Declaration
@ -1456,8 +1445,8 @@ None.
\seefl{FirstThat}{TCollection.FirstThat}
\end{function}
\latex{\lstinputlisting{objectex/ex25.pp}}
\html{\input{objectex/ex25.tex}}
\FPCexample{ex25}
\begin{function}{TCollection.FirstThat}
\Declaration
@ -1472,8 +1461,8 @@ None.
\seefl{LastThat}{TCollection.LastThat}
\end{function}
\latex{\lstinputlisting{objectex/ex26.pp}}
\html{\input{objectex/ex26.tex}}
\FPCexample{ex26}
\begin{procedure}{TCollection.Pack}
\Declaration
@ -1489,8 +1478,8 @@ None.
\seepl{SetLimit}{TCollection.SetLimit}
\end{procedure}
\latex{\lstinputlisting{objectex/ex26.pp}}
\html{\input{objectex/ex26.tex}}
\FPCexample{ex26}
\begin{procedure}{TCollection.FreeAll}
\Declaration
@ -1504,9 +1493,7 @@ does set \var{Count} to zero.
\seepl{DeleteAll}{TCollection.DeleteAll}, \seepl{FreeItem}{TCollection.FreeItem}
\end{procedure}
\latex{\lstinputlisting{objectex/ex28.pp}}
\html{\input{objectex/ex28.tex}}
\FPCexample{ex28}
\begin{procedure}{TCollection.DeleteAll}
@ -1523,8 +1510,7 @@ None.
\seepl{FreeAll}{TCollection.FreeAll}, \seepl{Delete}{TCollection.Delete}
\end{procedure}
\latex{\lstinputlisting{objectex/ex29.pp}}
\html{\input{objectex/ex29.tex}}
\FPCexample{ex29}
\begin{procedure}{TCollection.Free}
@ -1540,9 +1526,8 @@ If the \var{Item} is not in the collection, \var{Error} will be called with
\seepl{FreeItem}{TCollection.FreeItem},
\end{procedure}
\FPCexample{ex30}
\latex{\lstinputlisting{objectex/ex30.pp}}
\html{\input{objectex/ex30.tex}}
\begin{procedure}{TCollection.Insert}
\Declaration
@ -1572,9 +1557,8 @@ If the \var{Item} is not in the collection, \var{Error} will be called with
\seepl{AtDelete}{TCollection.AtDelete},\seepl{Free}{TCollection.Free}
\end{procedure}
\FPCexample{ex31}
\latex{\lstinputlisting{objectex/ex31.pp}}
\html{\input{objectex/ex31.tex}}
\begin{procedure}{TCollection.AtFree}
\Declaration
@ -1589,8 +1573,7 @@ with \var{CoIndexError}.
\seepl{Free}{TCollection.Free}, \seepl{AtDelete}{TCollection.AtDelete}
\end{procedure}
\latex{\lstinputlisting{objectex/ex32.pp}}
\html{\input{objectex/ex32.tex}}
\FPCexample{ex32}
\begin{procedure}{TCollection.FreeItem}
@ -1622,8 +1605,8 @@ with \var{CoIndexError}.
\end{procedure}
\latex{\lstinputlisting{objectex/ex33.pp}}
\html{\input{objectex/ex33.tex}}
\FPCexample{ex33}
\begin{procedure}{TCollection.ForEach}
\Declaration
@ -1640,9 +1623,7 @@ None.
\seefl{FirstThat}{TCollection.FirstThat}, \seefl{LastThat}{TCollection.LastThat}
\end{procedure}
\latex{\lstinputlisting{objectex/ex21.pp}}
\html{\input{objectex/ex21.tex}}
\FPCexample{ex21}
\begin{procedure}{TCollection.SetLimit}
@ -1704,9 +1685,8 @@ with \var{CoIndexError}. If the collection fails to expand, then
\seepl{Insert}{TCollection.Insert}
\end{procedure}
\FPCexample{ex34}
\latex{\lstinputlisting{objectex/ex34.pp}}
\html{\input{objectex/ex34.tex}}
\begin{procedure}{TCollection.Store}
\Declaration
@ -1779,8 +1759,8 @@ TYPE
In the subsequent examples, the following descendent of
\var{TSortedCollection} is used:
\latex{\lstinputlisting{objectex/mysortc.pp}}
\html{\input{objectex/mysortc.tex}}
\FPCexample{mysortc}
\begin{procedure}{TSortedCollection.Init}
\Declaration
@ -1883,8 +1863,7 @@ An 'abstract run-time error' will be generated if you call
\seefl{Search}{TSortedCollection.Search}
\end{function}
\latex{\lstinputlisting{objectex/mysortc.pp}}
\html{\input{objectex/mysortc.tex}}
\FPCexample{mysortc}
\begin{function}{TSortedCollection.Search}
@ -1907,8 +1886,8 @@ None.
\seefl{IndexOf}{TCollection.IndexOf}.
\end{function}
\latex{\lstinputlisting{objectex/ex36.pp}}
\html{\input{objectex/ex36.tex}}
\FPCexample{ex36}
\begin{procedure}{TSortedCollection.Insert}
\Declaration
@ -1927,8 +1906,8 @@ None.
\seepl{AtInsert}{TCollection.AtInsert}
\end{procedure}
\latex{\lstinputlisting{objectex/ex35.pp}}
\html{\input{objectex/ex35.tex}}
\FPCexample{ex35}
\begin{procedure}{TSortedCollection.Store}
\Declaration
@ -2003,8 +1982,8 @@ None.
\seef{TSortedCollection.Compare}
\end{function}
\latex{\lstinputlisting{objectex/ex37.pp}}
\html{\input{objectex/ex37.tex}}
\FPCexample{ex37}
\begin{procedure}{TStringCollection.FreeItem}
\Declaration
@ -2091,9 +2070,7 @@ None.
\seef{TSortedCollection.Compare}
\end{function}
\latex{\lstinputlisting{objectex/ex38.pp}}
\html{\input{objectex/ex38.tex}}
\FPCexample{ex38}
\begin{procedure}{TStrCollection.FreeItem}
@ -2155,8 +2132,8 @@ strings.
\SeeAlso
\end{procedure}
\latex{\lstinputlisting{objectex/ex39.pp}}
\html{\input{objectex/ex39.tex}}
\FPCexample{ex39}
\section{TResourceCollection}
\label{se:TResourceCollection}

View File

@ -44,7 +44,7 @@ Short & long & Opt & Explanation \\ \hline
%
\end{FPCltable}
\begin{FPCltable}{llll}{Options and directves}{options}
\begin{FPCltable}{llll}{Options and directives}{options}
Short & long & Opt & Explanation \\ \hline
& \dir{APPTYPE} & \copt{W} & Application type (Win32/OS2) \\
& \dir{ASMMODE} & \copt{R} & Assembler reader modus \\

5
docs/preamble.hevea Normal file
View File

@ -0,0 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Preamble for HTML output using Hevea
%
\documentclass{report}
\input{fpc-hevea.tex}

View File

@ -19,6 +19,9 @@
% Boston, MA 02111-1307, USA.
%
\chapter{The PRINTER unit.}
\label{ch:printerunit}
\FPCexampledir{printex}
This chapter describes the PRINTER unit for Free Pascal. It was written for
\dos by Florian Kl\"ampfl, and it was written for \linux by Micha\"el Van
Canneyt, and has been ported to \windows and \ostwo as well.
@ -65,5 +68,5 @@ Procedure AssignLst ( Var F : text; ToFile : string[255]);
\SeeAlso
\seem{lpr}{1}
\end{procedure}
\latex{\lstinputlisting{printex/printex.pp}}
\html{\input{printex/printex.tex}}
\FPCexample{printex}

View File

@ -21,7 +21,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Preamble.
\input{preamble.inc}
\latex{%
\begin{latexonly}
\ifpdf
\pdfinfo{/Author(Michael Van Canneyt)
/Title(Programmers' Guide)
@ -29,7 +29,8 @@
/Keywords(Free Pascal)
}
\fi
}
\end{latexonly}
%
% Settings
%
@ -53,7 +54,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Introduction
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{About this document}
\section{About this document}
This is the programmer's manual for \fpc.
It describes some of the peculiarities of the \fpc compiler, and provides a
@ -3495,24 +3496,9 @@ be available on all platforms (either emulated via software
or directly via hardware).
The memory format of the \var{single} format looks like
\begin{htmlonly}
this:
\fpcaddimg{../pics/single.png}
\end{htmlonly}
\begin{latexonly}
what is shown in \seefig{singleformat}.
\begin{figure}
\caption{The single format}
\label{fig:singleformat}
\begin{center}
\ifpdf
\epsfig{file=pics/single.png}
\else
\epsfig{file=pics/single.eps}
\fi
\end{center}
\end{figure}
\end{latexonly}
what is shown in \seefig{single}.
\FPCpic{The single format}{}{single}
\subsubsection{double}
@ -3522,24 +3508,9 @@ and its memory structure is the same as the IEEE-754 double
type.
The memory format of the \var{double} format looks like
\begin{htmlonly}
this:
\fpcaddimg{../pics/double.png}
\end{htmlonly}
\begin{latexonly}
like what is shown in \seefig{doubleformat}.
\begin{figure}
\begin{center}
\caption{The double format}
\label{fig:doubleformat}
\ifpdf
\epsfig{file=pics/double.png}
\else
\epsfig{file=pics/double.eps}
\fi
\end{center}
\end{figure}
\end{latexonly}
like what is shown in \seefig{double}.
\FPCpic{The double format}{}{double}
On processors which do not support co-processor operations (and which have
@ -3861,7 +3832,7 @@ by default, the fast alignment is used to align the data.
\label{se:StructuredAlignment}
By default all elements in a structure are aligned to a 2 byte boundary,
unless the {\var{\$PACKRECORDS} directive or \var{packed} modifier is used
unless the \var{\$PACKRECORDS} directive or \var{packed} modifier is used
to align the data in another way. For example a \var{record} or \var{object}
having a 1 byte element, will have its size rounded up to 2, so the size of
the structure will actually be 2 bytes.
@ -5027,7 +4998,7 @@ This can be compiled using the following command:
\begin{verbatim}
gcc -o ctest2 ctest2.c -ldl
\end{verbatim}
\lstset{language=delphi}
The \var{-ldl} tells gcc that the program needs the \file{libdl.so} library
to load dynamical libraries.
@ -5263,24 +5234,9 @@ to date or not. Furthermore, it contains all public symbols defined
for a module.
The general format of the \var{ppu} file format is shown
\begin{htmlonly}
here:
\fpcaddimg{../pics/ppu.png}
\end{htmlonly}
\begin{latexonly}
in \seefig{ppuformat}.
\begin{figure}
\caption{The PPU file format}
\label{fig:ppuformat}
\begin{center}
\ifpdf
\epsfig{file=pics/ppu.png}
\else
\epsfig{file=pics/ppu.eps}
\fi
\end{center}
\end{figure}
\end{latexonly}
in \seefig{ppu}.
\FPCpic{The PPU file format}{}{ppu}
To read or write the ppufile, the ppu unit \file{ppu.pas} can be used,
which has an object called tppufile which holds all routines that deal

View File

@ -21,14 +21,16 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Preamble.
\input{preamble.inc}
\latex{%
\begin{latexonly}
\ifpdf
\pdfinfo{/Author(Michael Van Canneyt)
/Title(Standard units Reference Guide)
/Subject(Free Pascal Reference guide)
/Keywords(Free Pascal, Language, System Unit)
}
\fi}
\fi
\end{latexonly}
%
% Settings
%

View File

@ -19,6 +19,9 @@
% Boston, MA 02111-1307, USA.
%
\chapter{The SOCKETS unit.}
\label{ch:socketsunit}
\FPCexampledir{sockex}
This chapter describes the SOCKETS unit for Free Pascal.
it was written for \linux by Micha\"el Van Canneyt, and ported to \windows
by Florian Kl\"ampfl.
@ -125,8 +128,7 @@ operation.
\seef{Listen}, \seef{Connect}
\end{function}
\latex{\lstinputlisting{sockex/socksvr.pp}}
\html{\input{sockex/socksvr.tex}}
\FPCexample{socksvr}
\begin{functionl}{Accept}{AltAAccept}
\Declaration
@ -234,8 +236,7 @@ On error, \var{-1} is returned and errors are reported in
\SeeAlso
\seef{Listen}, \seef{Bind},\seef{Accept}
\end{function}
\latex{\lstinputlisting{sockex/sockcli.pp}}
\html{\input{sockex/sockcli.tex}}
\FPCexample{sockcli}
\begin{functionl}{Connect}{AltAConnect}
\Declaration
Function Connect (Sock:longint;const addr:string;var SockIn,SockOut:text) : Boolean;
@ -284,8 +285,8 @@ The errors are those of \seef{Connect}.
\SeeAlso
\seef{Connect}
\end{functionl}
\latex{\lstinputlisting{sockex/pfinger.pp}}
\html{\input{sockex/pfinger.tex}}
\FPCexample{pfinger}
\begin{function}{GetPeerName}
\Declaration
Function GetPeerName (Sock:Longint;Var Addr;Var Addrlen:Longint) : Longint;

4
docs/styles/README Normal file
View File

@ -0,0 +1,4 @@
These styles will be copied local when building the documentation.
The styles are provided here because not all distributions supply the
required packages or have outdated versions.

44
docs/styles/listings.cfg Normal file
View File

@ -0,0 +1,44 @@
%%
%% This is file `listings.cfg',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% lstdrvrs.dtx (with options: `config')
%%
%% (w)(c) 1996/1997/1998/1999/2000 Carsten Heinz and/or any other author
%% listed elsewhere in this file.
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
%% Either version 1.0 or, at your option, any later version.
%%
%% This file is completely free and comes without any warranty.
%%
%% Permission is granted to change this file. You are not allowed to
%% distribute any changed version of this file, neither under the same
%% name nor under a different one.
%%
%% Send comments and ideas on the package, error reports and additional
%% programming languages to <cheinz@gmx.de>.
%%
\def\lstlanguagefiles
{lstlang0.sty,lstlang1.sty,lstlang2.sty,lstlang3.sty}
\lstset{defaultdialect=[R/3 4.6C]ABAP,
defaultdialect=[95]Ada,
defaultdialect=[68]Algol,
defaultdialect=[Visual]Basic,
defaultdialect=[ANSI]C,
defaultdialect=[light]Caml,
defaultdialect=[1985]Cobol,
defaultdialect=[ANSI]C++,
defaultdialect=[95]Fortran,
defaultdialect=[3.0]Mathematica,
defaultdialect=[OMG]OCL,
defaultdialect=[Standard]Pascal,
defaultdialect=[67]Simula,
defaultdialect=[plain]TeX}
\lstalias[]{TclTk}[tk]{tcl}
\endinput
%%
%% End of file `listings.cfg'.

1546
docs/styles/listings.sty Normal file

File diff suppressed because it is too large Load Diff

268
docs/styles/lstdoc.sty Normal file
View File

@ -0,0 +1,268 @@
%%
%% This is file `lstdoc.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% listings.dtx (with options: `doc')
%%
%% Please read the software license in listings.dtx or listings.dvi.
%%
%% (w)(c) 1996/1997/1998/1999/2000 Carsten Heinz and/or any other author
%% listed elsewhere in this file.
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
%% Either version 1.0 or, at your option, any later version.
%%
%% The listings package is free software.
%%
%% However, if you distribute the package as part of a commercial
%% product or if you use the package to prepare a document and sell the
%% document (books, journals, and so on), I'd like to encourage you to
%% make a donation to the LaTeX3 fund. The size of this `license fee'
%% should depend on the value of the package for your product.
%%
%% If you use the package to typeset a non-commercial document, please
%% send me a copy of the document (.dvi, .ps, .pdf, hardcopy, etc.) to
%% support further development.
%%
%% Permission is granted to change this file. You are not allowed to
%% distribute any changed version of this file, neither under the same
%% name nor under a different one.
%%
%% Send comments and ideas on the package, error reports and additional
%% programming languages to <cheinz@gmx.de>.
%%
\lst@AddToAtTop{\try@load@fontshape}{\def\space{ }}
\def\lst@BeginRemark#1{%
\begin{quote}\topsep0pt\let\small\footnotesize\small#1:}
\def\lst@EndRemark{\end{quote}}
\newenvironment{TODO}
{\lst@BeginRemark{To do}}{\lst@EndRemark}
\newenvironment{ALTERNATIVE}
{\lst@BeginRemark{Alternative}}{\lst@EndRemark}
\newenvironment{REMOVED}
{\lst@BeginRemark{Removed}}{\lst@EndRemark}
\newenvironment{OLDDEF}
{\lst@BeginRemark{Old definition}}{\lst@EndRemark}
\long\def\m@cro@#1#2#3{\endgroup \topsep\MacroTopsep \trivlist
\edef\saved@macroname{\string#3}%
\def\makelabel##1{\llap{##1}}%
\if@inlabel
\let\@tempa\@empty \count@\macro@cnt
\loop \ifnum\count@>\z@
\edef\@tempa{\@tempa\hbox{\strut}}\advance\count@\m@ne \repeat
\edef\makelabel##1{\llap{\vtop to\baselineskip
{\@tempa\hbox{##1}\vss}}}%
\advance \macro@cnt \@ne
\else \macro@cnt\@ne \fi
\edef\@tempa{\noexpand\item[%
#1%
\noexpand\PrintMacroName
\else
\expandafter\noexpand\csname Print#2Name\endcsname % MODIFIED
\fi
{\string#3}]}%
\@tempa
\global\advance\c@CodelineNo\@ne
#1%
\SpecialMainIndex{#3}\nobreak
\DoNotIndex{#3}%
\else
\csname SpecialMain#2Index\endcsname{#3}\nobreak % MODIFIED
\fi
\global\advance\c@CodelineNo\m@ne
\ignorespaces}
\def\macro{\begingroup
\catcode`\\12
\MakePrivateLetters \m@cro@ \iftrue {Macro}}% MODIFIED
\def\environment{\begingroup
\catcode`\\12
\MakePrivateLetters \m@cro@ \iffalse {Env}}% MODIFIED
\def\newdocenvironment#1#2#3#4{%
\@namedef{#1}{#3\begingroup \catcode`\\12\relax
\MakePrivateLetters \m@cro@ \iffalse {#2}}%
\@namedef{end#1}{#4\endmacro}%
\@ifundefined{Print#2Name}{\expandafter
\let\csname Print#2Name\endcsname\PrintMacroName}{}%
\@ifundefined{SpecialMain#2Index}{\expandafter
\let\csname SpecialMain#2Index\endcsname\SpecialMainIndex}{}}
\newdocenvironment{aspect}{Aspect}{}{}
\def\PrintAspectName#1{}
\def\SpecialMainAspectIndex#1{%
\@bsphack
\index{aspects:\levelchar\protect\aspectname{#1}\encapchar main}%
\@esphack}
\newdocenvironment{lstkey}{Key}{}{}
\def\PrintKeyName#1{\strut\keyname{#1}\ }
\def\SpecialMainKeyIndex#1{%
\@bsphack
\index{keys:\levelchar\protect\keyname{#1}\encapchar main}%
\@esphack}
\newcounter{argcount}
\def\labelargcount{\texttt{\#\arabic{argcount}}\hskip\labelsep$=$}
\def\macroargs{\list\labelargcount
{\usecounter{argcount}\leftmargin=2\leftmargin
\parsep \z@ \@plus\z@ \@minus\z@
\topsep4\p@ \@plus\p@ \@minus2\p@
\itemsep\z@ \@plus\z@ \@minus\z@
\def\makelabel##1{\hss\llap{##1}}}}
\def\endmacroargs{\endlist\@endparenv}
\lst@RequireAspects{writefile}
\newbox\lst@samplebox
\lstnewenvironment{lstsample}[2]
{\lst@TestEOLChar{#1}\global\let\lst@intname\@empty
\gdef\lst@sample{#1}%
\setbox\lst@samplebox=\hbox\bgroup
\setkeys{lst}{language={},style={},tabsize=4,gobble=5,%
basicstyle=\small\ttfamily,basewidth=0.51em}
#2%
\lst@BeginAlsoWriteFile{\jobname.tmp}}
{\lst@EndWriteFile\egroup
\ifdim \wd\lst@samplebox>.5\linewidth
\begin{center}%
\begin{minipage}{0.9\linewidth}%
\hbox to\linewidth{\box\lst@samplebox\hss}%
\end{minipage}%
\end{center}%
\lst@sampleInput
\else
\begin{center}%
\begin{minipage}{0.45\linewidth}\lst@sampleInput\end{minipage}%
\qquad
\begin{minipage}{0.45\linewidth}%
\hbox to\linewidth{\box\lst@samplebox\hss}%
\end{minipage}%
\end{center}%
\fi}
\def\lst@sampleInput{%
\MakePercentComment\catcode`\^^M=10\relax
\small\lst@sample
{\setkeys{lst}{SelectCharTable=\lst@ReplaceInput{\^\^I}%
{\lst@ProcessTabulator}}%
\leavevmode \input{\jobname.tmp}}\MakePercentIgnore}
\def\lstscanlanguages#1#2#3{%
\begingroup
\def\lst@DefDriver@##1##2##3##4[##5]##6{%
\lst@false
\lst@lAddTo\lst@scan{##6(##5),}%
\begingroup
\@ifnextchar[{\lst@XDefDriver{##1}##3}{\lst@DefDriver@@##3}}%
\def\lst@XXDefDriver[##1]{}%
\lst@InputCatcodes
\def\lst@dontinput{#3}%
\let\lst@scan\@empty
\lst@for{#2}\do{%
\lst@IfOneOf##1\relax\lst@dontinput
{}%
{\InputIfFileExists{##1}{}{}}}%
\global\let\@gtempa\lst@scan
\endgroup
\let#1\@gtempa}
\def\lstprintlanguages#1{%
\def\do##1{\setbox\@tempboxa\hbox{##1\space\space}%
\ifdim\wd\@tempboxa<.5\linewidth \wd\@tempboxa.5\linewidth
\else \wd\@tempboxa\linewidth \fi
\box\@tempboxa\allowbreak}%
\begin{quote}
\par\noindent
\hyphenpenalty=\@M \rightskip=\z@\@plus\linewidth\relax
\lst@BubbleSort#1%
\expandafter\lst@NextLanguage#1\relax(\relax),%
\end{quote}}
\def\lst@NextLanguage#1(#2),{%
\ifx\relax#1\else
\def\lst@language{#1}\def\lst@dialects{(#2),}%
\expandafter\lst@NextLanguage@
\fi}
\def\lst@NextLanguage@#1(#2),{%
\def\lst@temp{#1}%
\ifx\lst@temp\lst@language
\lst@lAddTo\lst@dialects{(#2),}%
\expandafter\lst@NextLanguage@
\else
\do{\lst@language
\ifx\lst@dialects\lst@emptydialect\else
\expandafter\lst@NormedDef\expandafter\lst@language
\expandafter{\lst@language}%
\space(%
\lst@BubbleSort\lst@dialects
\expandafter\lst@PrintDialects\lst@dialects(\relax),%
)%
\fi}%
\def\lst@next{\lst@NextLanguage#1(#2),}%
\expandafter\lst@next
\fi}
\def\lst@emptydialect{(),}
\def\lst@PrintDialects(#1),{%
\ifx\@empty#1\@empty empty\else
\lst@PrintDialect{#1}%
\fi
\lst@PrintDialects@}
\def\lst@PrintDialects@(#1),{%
\ifx\relax#1\else
,\lst@PrintDialect{#1}%
\expandafter\lst@PrintDialects@
\fi}
\def\lst@PrintDialect#1{%
\lst@NormedDef\lst@temp{#1}%
\expandafter\ifx\csname lstdd@\lst@language\endcsname\lst@temp
\texttt{\underbar{#1}}%
\else
\texttt{#1}%
\fi}
\def\lst@IfLE#1#2\@empty#3#4\@empty{%
\ifx #1\relax
\let\lst@next\@firstoftwo
\else \ifx #3\relax
\let\lst@next\@secondoftwo
\else
\lowercase{\ifx#1#3}%
\def\lst@next{\lst@IfLE#2\@empty#4\@empty}%
\else
\lowercase{\ifnum`#1<`#3}\relax
\let\lst@next\@firstoftwo
\else
\let\lst@next\@secondoftwo
\fi
\fi
\fi \fi
\lst@next}
\def\lst@BubbleSort#1{%
\ifx\@empty#1\else
\lst@false
\expandafter\lst@BubbleSort@#1\relax,\relax,%
\expandafter\lst@BubbleSort@\expandafter,\lst@sorted
\relax,\relax,%
\let#1\lst@sorted
\lst@if
\def\lst@next{\lst@BubbleSort#1}%
\expandafter\expandafter\expandafter\lst@next
\fi
\fi}
\def\lst@BubbleSort@#1,#2,{%
\ifx\@empty#1\@empty
\def\lst@sorted{#2,}%
\def\lst@next{\lst@BubbleSort@@}%
\else
\let\lst@sorted\@empty
\def\lst@next{\lst@BubbleSort@@#1,#2,}%
\fi
\lst@next}
\def\lst@BubbleSort@@#1,#2,{%
\ifx\relax#1\else
\ifx\relax#2%
\lst@lAddTo\lst@sorted{#1,}%
\expandafter\expandafter\expandafter\lst@BubbleSort@@@
\else
\lst@IfLE #1\relax\@empty #2\relax\@empty
{\lst@lAddTo\lst@sorted{#1,#2,}}%
{\lst@true \lst@lAddTo\lst@sorted{#2,#1,}}%
\expandafter\expandafter\expandafter\lst@BubbleSort@@
\fi
\fi}
\def\lst@BubbleSort@@@#1\relax,{}
\endinput
%%
%% End of file `lstdoc.sty'.

595
docs/styles/lstlang1.sty Normal file
View File

@ -0,0 +1,595 @@
%%
%% This is file `lstlang1.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% lstdrvrs.dtx (with options: `lang1')
%%
%% (w)(c) 1996/1997/1998/1999/2000 Carsten Heinz and/or any other author
%% listed elsewhere in this file.
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
%% Either version 1.0 or, at your option, any later version.
%%
%% This file is completely free and comes without any warranty.
%%
%% Permission is granted to change this file. You are not allowed to
%% distribute any changed version of this file, neither under the same
%% name nor under a different one.
%%
%% Send comments and ideas on the package, error reports and additional
%% programming languages to <cheinz@gmx.de>.
%%
%%
%% Ada 95 definition (c) Torsten Neuer <tneuer@inwise.de>
%%
\lst@definelanguage[95]{Ada}[83]{Ada}%
{morekeywords={abstract,aliased,protected,requeue,tagged,until}}%
\lst@definelanguage[83]{Ada}%
{morekeywords={abort,abs,accept,access,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,raise,range,record,rem,renames,return,reverse,select,%
separate,subtype,task,terminate,then,type,use,when,while,with,%
xor},%
sensitive=f,%
morecomment=[l]--,%
morestring=[m]",% percent not defined as stringizer so far
morestring=[m]'%
}[keywords,comments,strings]%
\lst@definelanguage[Visual]{C++}[ANSI]{C++}%
{morekeywords={__asm,__based,__cdecl,__declspec,dllexport,%
dllimport,__except,__fastcall,__finally,__inline,__int8,__int16,%
__int32,__int64,naked,__stdcall,thread,__try,__leave},%
}%
\lst@definelanguage[ANSI]{C++}[ANSI]{C}%
{morekeywords={asm,bad_cast,bad_typeid,bool,catch,class,const_cast,%
delete,dynamic_cast,false,friend,inline,namespace,new,operator,%
private,protected,public,reinterpret_cast,static_cast,template,%
this,throw,true,try,type_info,typeid,using,virtual,xalloc,%
__multiple_inheritance,__single_inheritance,%
__virtual_inheritance},%
morecomment=[l]//%
}%
%%
%% Objective-C definition (c) 1997 Detlev Droege
%% <droege@informatik.uni-koblenz.de>
%%
\lst@definelanguage[Objective]{C}[ANSI]{C}
{morekeywords={bycopy,id,in,inout,oneway,out,self,super,%
@class,@defs,@encode,@end,@implementation,@interface,@private,%
@protected,@protocol,@public,@selector},%
morecomment=[l]//,%
moredirectives={import}%
}%
\lst@definelanguage[ANSI]{C}%
{morekeywords={auto,break,case,char,const,continue,default,do,double,%
else,enum,extern,float,for,goto,if,int,long,register,return,%
short,signed,sizeof,static,struct,switch,typedef,union,unsigned,%
void,volatile,while},%
sensitive,%
morecomment=[s]{/*}{*/},%
morestring=[b]",%
morestring=[b]',%
moredirectives={define,elif,else,endif,error,if,ifdef,ifndef,line,%
include,pragma,undef,warning}%
}[keywords,comments,strings,directives]%
%%
%% csh definition (c) 1998 Kai Below <below@tu-harburg.de>
%%
\lst@definelanguage{csh}
{morekeywords={alias,awk,cat,echo,else,end,endif,endsw,exec,exit,%
foreach,glob,goto,history,if,logout,nice,nohup,onintr,repeat,sed,%
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,print,printf,%
sqrt,BEGIN,END},%
morecomment=[l]\#,%
morestring=[d]"%
}[keywords,comments,strings]%
\lst@definelanguage[90]{Fortran}[95]{Fortran}{}
\lst@definelanguage[95]{Fortran}[77]{Fortran}%
{deletekeywords=SAVE,
morekeywords={ACTION,ADVANCE,ALLOCATE,ALLOCATABLE,ASSIGNMENT,CASE,%
CONTAINS,CYCLE,DEALLOCATE,DEFAULT,DELIM,EXIT,INCLUDE,IN,NONE,IN,%
OUT,INTENT,INTERFACE,IOLENGTH,KIND,LEN,MODULE,NAME,NAMELIST,NMT,%
NULLIFY,ONLY,OPERATOR,OPTIONAL,OUT,PAD,POINTER,POSITION,PRIVATE,%
PUBLIC,READWRITE,RECURSIVE,RESULT,SELECT,SEQUENCE,SIZE,STAT,%
TARGET,USE,WHERE,WHILE,BLOCKDATA,DOUBLEPRECISION,ELSEIF,%
ENDBLOCKDATA,ENDDO,ENDFILE,ENDFUNCTION,ENDIF,ENDINTERFACE,%
ENDMODULE,ENDPROGRAM,ENDSELECT,ENDSUBROUTINE,ENDTYPE,ENDWHERE,%
GOTO,INOUT,SELECTCASE},%
morecomment=[l]!,%
deletecomment=[f]% no fixed comment line: 1998 Magne Rudshaug
}%
\lst@definelanguage[77]{Fortran}%
{morekeywords={ACCESS,ASSIGN,BACKSPACE,BLANK,BLOCK,CALL,CHARACTER,%
CLOSE,COMMON,COMPLEX,CONTINUE,DATA,DIMENSION,DIRECT,DO,DOUBLE,%
ELSE,END,ENTRY,EOF,EQUIVALENCE,ERR,EXIST,EXTERNAL,FILE,FMT,FORM,%
FORMAT,FORMATTED,FUNCTION,GO,TO,IF,IMPLICIT,INQUIRE,INTEGER,%
INTRINSIC,IOSTAT,LOGICAL,NAMED,NEXTREC,NUMBER,OPEN,OPENED,%
PARAMETER,PAUSE,PRECISION,PRINT,PROGRAM,READ,REAL,REC,RECL,%
RETURN,REWIND,SEQUENTIAL,STATUS,STOP,SUBROUTINE,THEN,TYPE,%
UNFORMATTED,UNIT,WRITE,SAVE},%
sensitive=f,%% not Fortran standard %%
morecomment=[f]*Cc,%
morestring=[d]"%
}[keywords,comments,strings]%
\lst@definelanguage{HTML}%
{morekeywords={A,ADDRESS,APPLET,B,BASE,BASEFONT,BIG,BLOCKQUOTE,BODY,%
BR,CENTER,CITE,CODE,DFN,DIR,DIV,DOCTYPE,EM,FONT,FORM,HEAD,HR,%
H1,H2,H3,H4,H5,H6,HTML,I,IMG,INPUT,ISINDEX,KBD,LI,LINK,LISTING,%
MAP,META,MENU,P,PLAINTEXT,PRE,OL,SAMP,SCRIPT,SELECT,SMALL,STRIKE,%
STRING,SUB,SUP,STYLE,TABLE,TEXTAREA,TITLE,TT,U,UL,VAR,XMP,%
action,align,alink,alt,background,bgcolor,border,cellpadding,%
cellspacing,checked,code,codebase,color,cols,colspan,entype,%
height,href,hspace,ismap,link,maxlength,method,multiple,name,%
noshade,nowrap,rel,rev,rows,rowspan,selected,shape,size,src,text,%
title,type,usemap,valign,value,vlink,vspace,width},%
keywordsinside=<>,
sensitive=f,%
morestring=[d]",% ??? doubled
MoreSelectCharTable=%
\lst@CArgX--\relax\lst@CommentB\lst@GPmode{}{}%
{\ifnum\lst@mode=\lst@insidemode\else
\expandafter\@gobblethree
\fi}\lst@commentstyle
\lst@CArgX--\relax\lst@CommentE\lst@GPmode{}{}{}%
}[keywords,comments,strings,html]%
\lst@definelanguage{Java}%
{morekeywords={abstract,boolean,break,byte,case,catch,char,class,%
const,continue,default,do,double,else,extends,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,%
transient,try,void,volatile,while,true,false},%
sensitive,%
morecomment=[l]//,%
morecomment=[s]{/*}{*/},%
morestring=[b]",%
morestring=[b]',%
}[keywords,comments,strings]%
\lst@definelanguage{Matlab}%
{morekeywords={gt,lt,gt,lt,amp,abs,acos,acosh,acot,acoth,acsc,acsch,%
all,angle,ans,any,asec,asech,asin,asinh,atan,atan2,atanh,auread,%
auwrite,axes,axis,balance,bar,bessel,besselk,bessely,beta,%
betainc,betaln,blanks,bone,break,brighten,capture,cart2pol,%
cart2sph,caxis,cd,cdf2rdf,cedit,ceil,chol,cla,clabel,clc,clear,%
clf,clock,close,colmmd,Colon,colorbar,colormap,ColorSpec,colperm,%
comet,comet3,compan,compass,computer,cond,condest,conj,contour,%
contour3,contourc,contrast,conv,conv2,cool,copper,corrcoef,cos,%
cosh,cot,coth,cov,cplxpair,cputime,cross,csc,csch,csvread,%
csvwrite,cumprod,cumsum,cylinder,date,dbclear,dbcont,dbdown,%
dbquit,dbstack,dbstatus,dbstep,dbstop,dbtype,dbup,ddeadv,ddeexec,%
ddeinit,ddepoke,ddereq,ddeterm,ddeunadv,deblank,dec2hex,deconv,%
del2,delete,demo,det,diag,diary,diff,diffuse,dir,disp,dlmread,%
dlmwrite,dmperm,dot,drawnow,echo,eig,ellipj,ellipke,else,elseif,%
end,engClose,engEvalString,engGetFull,engGetMatrix,engOpen,%
engOutputBuffer,engPutFull,engPutMatrix,engSetEvalCallback,%
engSetEvalTimeout,engWinInit,eps,erf,erfc,erfcx,erfinv,error,%
errorbar,etime,etree,eval,exist,exp,expint,expm,expo,eye,fclose,%
feather,feof,ferror,feval,fft,fft2,fftshift,fgetl,fgets,figure,%
fill,fill3,filter,filter2,find,findstr,finite,fix,flag,fliplr,%
flipud,floor,flops,fmin,fmins,fopen,for,format,fplot,fprintf,%
fread,frewind,fscanf,fseek,ftell,full,function,funm,fwrite,fzero,%
gallery,gamma,gammainc,gammaln,gca,gcd,gcf,gco,get,getenv,%
getframe,ginput,global,gplot,gradient,gray,graymon,grid,griddata,%
gtext,hadamard,hankel,help,hess,hex2dec,hex2num,hidden,hilb,hist,%
hold,home,hostid,hot,hsv,hsv2rgb,if,ifft,ifft2,imag,image,%
imagesc,Inf,info,input,int2str,interp1,interp2,interpft,inv,%
invhilb,isempty,isglobal,ishold,isieee,isinf,isletter,isnan,%
isreal,isspace,issparse,isstr,jet,keyboard,kron,lasterr,lcm,%
legend,legendre,length,lin2mu,line,linspace,load,log,log10,log2,%
loglog,logm,logspace,lookfor,lower,ls,lscov,lu,magic,matClose,%
matDeleteMatrix,matGetDir,matGetFp,matGetFull,matGetMatrix,%
matGetNextMatrix,matGetString,matlabrc,matlabroot,matOpen,%
matPutFull,matPutMatrix,matPutString,max,mean,median,menu,mesh,%
meshc,meshgrid,meshz,mexAtExit,mexCallMATLAB,mexdebug,%
mexErrMsgTxt,mexEvalString,mexFunction,mexGetFull,mexGetMatrix,%
mexGetMatrixPtr,mexPrintf,mexPutFull,mexPutMatrix,mexSetTrapFlag,%
min,more,movie,moviein,mu2lin,mxCalloc,mxCopyCharacterToPtr,%
mxCopyComplex16ToPtr,mxCopyInteger4ToPtr,mxCopyPtrToCharacter,%
mxCopyPtrToComplex16,mxCopyPtrToInteger4,mxCopyPtrToReal8,%
mxCopyReal8ToPtr,mxCreateFull,mxCreateSparse,mxCreateString,%
mxFree,mxFreeMatrix,mxGetIr,mxGetJc,mxGetM,mxGetN,mxGetName,%
mxGetNzmax,mxGetPi,mxGetPr,mxGetScalar,mxGetString,mxIsComplex,%
mxIsFull,mxIsNumeric,mxIsSparse,mxIsString,mxIsTypeDouble,%
mxSetIr,mxSetJc,mxSetM,mxSetN,mxSetName,mxSetNzmax,mxSetPi,%
mxSetPr,NaN,nargchk,nargin,nargout,newplot,nextpow2,nnls,nnz,%
nonzeros,norm,normest,null,num2str,nzmax,ode23,ode45,orient,orth,%
pack,pascal,patch,path,pause,pcolor,pi,pink,pinv,plot,plot3,%
pol2cart,polar,poly,polyder,polyeig,polyfit,polyval,polyvalm,%
pow2,print,printopt,prism,prod,pwd,qr,qrdelete,qrinsert,quad,%
quad8,quit,quiver,qz,rand,randn,randperm,rank,rat,rats,rbbox,%
rcond,real,realmax,realmin,refresh,rem,reset,reshape,residue,%
return,rgb2hsv,rgbplot,rootobject,roots,rose,rosser,rot90,rotate,%
round,rref,rrefmovie,rsf2csf,save,saxis,schur,sec,sech,semilogx,%
semilogy,set,setstr,shading,sign,sin,sinh,size,slice,sort,sound,%
spalloc,sparse,spaugment,spconvert,spdiags,specular,speye,spfun,%
sph2cart,sphere,spinmap,spline,spones,spparms,sprandn,sprandsym,%
sprank,sprintf,spy,sqrt,sqrtm,sscanf,stairs,startup,std,stem,%
str2mat,str2num,strcmp,strings,strrep,strtok,subplot,subscribe,%
subspace,sum,surf,surface,surfc,surfl,surfnorm,svd,symbfact,%
symmmd,symrcm,tan,tanh,tempdir,tempname,terminal,text,tic,title,%
toc,toeplitz,trace,trapz,tril,triu,type,uicontrol,uigetfile,%
uimenu,uiputfile,unix,unwrap,upper,vander,ver,version,view,%
viewmtx,waitforbuttonpress,waterfall,wavread,wavwrite,what,%
whatsnew,which,while,white,whitebg,who,whos,wilkinson,wk1read,%
wk1write,xlabel,xor,ylabel,zeros,zlabel,zoom},%
sensitive,%
morecomment=[l]\%,%
morestring=[m]'%
}[keywords,comments,strings]%
%%
%% Mathematica definitions (c) 1999 Michael Wiese <wiese@itwm.uni-kl.de>
%%
\lst@definelanguage[3.0]{Mathematica}[1.0]{Mathematica}%
{morekeywords={Abort,AbortProtect,AbsoluteDashing,AbsolutePointSize,%
AbsoluteThickness,AbsoluteTime,AccountingFormAiry,AiPrime,AiryBi,%
AiryBiPrime,Alternatives,AnchoredSearch,AxesEdge,AxesOrigin,%
AxesStyle,Background,BetaRegularized,BoxStyle,C,CheckAbort,%
Circle,ClebschGordan,CMYKColor,ColorFunction,ColorOutput,Compile,%
Compiled,CompiledFunction,ComplexExpand,ComposeList,Composition,%
ConstrainedMax,ConstrainedMin,Contexts,ContextToFilename,%
ContourLines,Contours,ContourShading,ContourSmoothing,%
ContourStyle,CopyDirectory,CopyFile,CosIntegral,CreateDirectory,%
Cuboid,Date,DeclarePackage,DefaultColor,DefaultFont,Delete,%
DeleteCases,DeleteDirectory,DeleteFile,Dialog,DialogIndent,%
DialogProlog,DialogSymbols,DigitQ,Directory,DirectoryStack,Disk,%
Dispatch,DownValues,DSolve,Encode,Epilog,Erfc,Evaluate,%
ExponentFunction,FaceGrids,FileByteCount,FileDate,FileNames,%
FileType,Find,FindList,FixedPointList,FlattenAt,Fold,FoldList,%
Frame,FrameLabel,FrameStyle,FrameTicks,FromCharacterCode,%
FromDate,FullGraphics,FullOptions,GammaRegularized,%
GaussianIntegers,GraphicsArray,GraphicsSpacing,GridLines,%
GroebnerBasis,Heads,HeldPart,HomeDirectory,Hue,IgnoreCases,%
InputStream,Install,InString,IntegerDigits,InterpolatingFunction,%
InterpolatingPolynomial,Interpolation,Interrupt,InverseFunction,%
InverseFunctions,JacobiZeta,LetterQ,LinearProgramming,ListPlay,%
LogGamma,LowerCaseQ,MachineNumberQ,MantissaExponent,MapIndexed,%
MapThread,MatchLocalNames,MatrixExp,MatrixPower,MeshRange,%
MeshStyle,MessageList,Module,NDSolve,NSolve,NullRecords,%
NullWords,NumberFormat,NumberPadding,NumberSigns,OutputStream,%
PaddedForm,ParentDirectory,Pause,Play,PlayRange,PlotRegion,%
PolygonIntersections,PolynomialGCD,PolynomialLCM,PolynomialMod,%
PostScript,PowerExpand,PrecisionGoal,PrimePi,Prolog,%
QRDecomposition,Raster,RasterArray,RealDigits,Record,RecordLists,%
RecordSeparators,ReleaseHold,RenameDirectory,RenameFile,%
ReplaceHeldPart,ReplacePart,ResetDirectory,Residue,%
RiemannSiegelTheta,RiemannSiegelZ,RotateLabel,SameTest,%
SampleDepth,SampledSoundFunction,SampledSoundList,SampleRate,%
SchurDecomposition,SessionTime,SetAccuracy,SetDirectory,%
SetFileDate,SetPrecision,SetStreamPosition,Shallow,SignPadding,%
SinIntegral,SixJSymbol,Skip,Sound,SpellingCorrection,%
SphericalRegion,Stack,StackBegin,StackComplete,StackInhibit,%
StreamPosition,Streams,StringByteCount,StringConversion,%
StringDrop,StringInsert,StringPosition,StringReplace,%
StringReverse,StringTake,StringToStream,SurfaceColor,%
SyntaxLength,SyntaxQ,TableAlignments,TableDepth,%
TableDirections,TableHeadings,TableSpacing,ThreeJSymbol,TimeUsed,%
TimeZone,ToCharacterCode,ToDate,ToHeldExpression,TokenWords,%
ToLowerCase,ToUpperCase,Trace,TraceAbove,TraceBackward,%
TraceDepth,TraceDialog,TraceForward,TraceOff,TraceOn,%
TraceOriginal,TracePrint,TraceScan,Trig,Unevaluated,Uninstall,%
UnsameQ,UpperCaseQ,UpValues,ViewCenter,ViewVertical,With,Word,%
WordSearch,WordSeparators},%
morendkeywords={Stub,Temporary,$Aborted,$BatchInput,$BatchOutput,%
$CreationDate,$DefaultFont,$DumpDates,$DumpSupported,$Failed,%
$Input,$Inspector,$IterationLimit,$Language,$Letters,$Linked,%
$LinkSupported,$MachineEpsilon,$MachineID,$MachineName,%
$MachinePrecision,$MachineType,$MaxMachineNumber,$MessageList,%
$MessagePrePrint,$MinMachineNumber,$ModuleNumber,$NewMessage,%
$NewSymbol,$Notebooks,$OperatingSystem,$Packages,$PipeSupported,%
$PreRead,$ReleaseNumber,$SessionID,$SoundDisplayFunction,%
$StringConversion,$StringOrder,$SyntaxHandler,$TimeUnit,%
$VersionNumber}%
}%
\lst@definelanguage[1.0]{Mathematica}%
{morekeywords={Abs,Accuracy,AccurayGoal,AddTo,AiryAi,AlgebraicRules,%
AmbientLight,And,Apart,Append,AppendTo,Apply,ArcCos,ArcCosh,%
ArcCot,ArcCoth,ArcCsc,ArcCsch,ArcSec,ArcSech,ArcSin,ArcSinh,%
ArcTan,ArcTanh,Arg,ArithmeticGeometricMean,Array,AspectRatio,%
AtomQ,Attributes,Axes,AxesLabel,BaseForm,Begin,BeginPackage,%
BernoulliB,BesselI,BesselJ,BesselK,BesselY,Beta,Binomial,Blank,%
BlankNullSequence,BlankSequence,Block,Boxed,BoxRatios,Break,Byte,%
ByteCount,Cancel,Cases,Catch,Ceiling,CForm,Character,Characters,%
ChebyshevT,ChebyshevU,Check,Chop,Clear,ClearAll,ClearAttributes,%
ClipFill,Close,Coefficient,CoefficientList,Collect,ColumnForm,%
Complement,Complex,CompoundExpression,Condition,Conjugate,%
Constants,Context,Continuation,Continue,ContourGraphics,%
ContourPlot,Cos,Cosh,Cot,Coth,Count,Csc,Csch,Cubics,Cyclotomic,%
D,Dashing,Decompose,Decrement,Default,Definition,Denominator,%
DensityGraphics,DensityPlot,Depth,Derivative,Det,DiagonalMatrix,%
DigitBlock,Dimensions,DirectedInfinity,Display,DisplayFunction,%
Distribute,Divide,DivideBy,Divisors,DivisorSigma,Do,Dot,Drop,Dt,%
Dump,EdgeForm,Eigensystem,Eigenvalues,Eigenvectors,Eliminate,%
EllipticE,EllipticExp,EllipticF,EllipticK,EllipticLog,EllipticPi,%
EllipticTheta,End,EndPackage,EngineeringForm,Environment,Equal,%
Erf,EulerE,EulerPhi,EvenQ,Exit,Exp,Expand,ExpandAll,%
ExpandDenominator,ExpandNumerator,ExpIntegralE,ExpIntegralEi,%
Exponent,Expression,ExtendedGCD,FaceForm,Factor,FactorComplete,%
Factorial,Factorial2,FactorInteger,FactorList,FactorSquareFree,%
FactorSquareFreeList,FactorTerms,FactorTermsList,FindMinimum,%
FindRoot,First,Fit,FixedPoint,Flatten,Floor,FontForm,For,Format,%
FormatType,FortranForm,Fourier,FreeQ,FullDefinition,FullForm,%
Function,Gamma,GCD,GegenbauerC,General,Get,Goto,Graphics,%
Graphics3D,GrayLevel,Greater,GreaterEqual,Head,HermiteH,%
HiddenSurface,Hold,HoldForm,Hypergeometric0F1, Hypergeometric1F1,%
Hypergeometric2F1,HypergeometricU,Identity,IdentityMatrix,If,Im,%
Implies,In,Increment,Indent,Infix,Information,Inner,Input,%
InputForm,InputString,Insert,Integer,IntegerQ,Integrate,%
Intersection,Inverse,InverseFourier,InverseJacobiSN,%
InverseSeries,JacobiAmplitude,JacobiP,JacobiSN,JacobiSymbol,Join,%
Label,LaguerreL,Last,LatticeReduce,LCM,LeafCount,LegendreP,%
LegendreQ,LegendreType,Length,LerchPhi,Less,LessEqual,Level,%
Lighting,LightSources,Limit,Line,LinearSolve,LineBreak,List,%
ListContourPlot,ListDensityPlot,ListPlot,ListPlot3D,Literal,Log,%
LogicalExpand,LogIntegral,MainSolve,Map,MapAll,MapAt,MatchQ,%
MatrixForm,MatrixQ,Max,MaxBend,MaxMemoryUsed,MemberQ,%
MemoryConstrained,MemoryInUse,Mesh,Message,MessageName,Messages,%
Min,Minors,Minus,Mod,Modulus,MoebiusMu,Multinomial,N,NameQ,Names,%
NBernoulliB,Needs,Negative,Nest,NestList,NIntegrate,%
NonCommutativeMultiply,NonConstants,NonNegative,Normal,Not,%
NProduct,NSum,NullSpace,Number,NumberForm,NumberPoint,NumberQ,%
NumberSeparator,Numerator,O,OddQ,Off,On,OpenAppend,OpenRead,%
OpenTemporary,OpenWrite,Operate,Optional,Options,Or,Order,%
OrderedQ,Out,Outer,OutputForm,PageHeight,PageWidth,%
ParametricPlot,ParametricPlot3D,Part,Partition,PartitionsP,%
PartitionsQ,Pattern,Permutations,Plot,Plot3D,PlotDivision,%
PlotJoined,PlotLabel,PlotPoints,PlotRange,PlotStyle,Pochhammer,%
Plus,Point,PointSize,PolyGamma,Polygon,PolyLog,PolynomialQ,%
PolynomialQuotient,PolynomialRemainder,Position,Positive,Postfix,%
Power,PowerMod,PrecedenceForm,Precision,PreDecrement,Prefix,%
PreIncrement,Prepend,PrependTo,Prime,PrimeQ,Print,PrintForm,%
Product,Protect,PseudoInverse,Put,PutAppend,Quartics,Quit,%
Quotient,Random,Range,Rational,Rationalize,Raw,Re,Read,ReadList,%
Real,Rectangle,Reduce,Remove,RenderAll,Repeated,RepeatedNull,%
Replace,ReplaceAll,ReplaceRepeated,Rest,Resultant,Return,Reverse,%
RGBColor,Roots,RotateLeft,RotateRight,Round,RowReduce,Rule,%
RuleDelayed,Run,RunThrough,SameQ,Save,Scaled,Scan,ScientificForm,%
Sec,Sech,SeedRandom,Select,Sequence,SequenceForm,Series,%
SeriesData,Set,SetAttributes,SetDelayed,SetOptions,Shading,Share,%
Short,Show,Sign,Signature,Simplify,Sin,SingularValues,Sinh,%
Skeleton,Slot,SlotSequence,Solve,SolveAlways,Sort,%
SphericalHarmonicY,Splice,Sqrt,StirlingS1,StirlingS2,String,%
StringBreak,StringForm,StringJoin,StringLength,StringMatchQ,%
StringSkeleton,Subscript,Subscripted,Subtract,SubtractForm,Sum,%
Superscript,SurfaceGraphics,Switch,Symbol,Table,TableForm,TagSet,%
TagSetDelayed,TagUnset,Take,Tan,Tanh,ToString,TensorRank,TeXForm,%
Text,TextForm,Thickness,Thread,Through,Throw,Ticks,%
TimeConstrained,Times,TimesBy,Timing,ToExpression,Together,%
ToRules,ToString,TotalHeight,TotalWidth,Transpose,TreeForm,TrueQ,%
Unequal,Union,Unique,Unprotect,Unset,Update,UpSet,UpSetDelayed,%
ValueQ,Variables,VectorQ,ViewPoint,WeierstrassP,%
WeierstrassPPrime,Which,While,WorkingPrecision,Write,WriteString,%
Xor,ZeroTest,Zeta},%
morendkeywords={All,Automatic,Catalan,ComplexInfinity,Constant,%
Degree,E,EndOfFile,EulerGamma,False,Flat,GoldenRatio,HoldAll,%
HoldFirst,HoldRest,I,Indeterminate,Infinity,Listable,Locked,%
Modular,None,Null,OneIdentity,Orderless,Pi,Protected,%
ReadProtected,True,$CommandLine,$Context,$ContextPath,$Display,%
$DisplayFunction,$Echo,$Epilog,$IgnoreEOF,$Line,$Messages,%
$Output,$Path,$Post,$Pre,$PrePrint,$RecursionLimit,$System,%
$Urgent,$Version},%
sensitive,%
morecomment=[s]{(*}{*)},%
morestring=[d]"%
}[keywords,comments,strings]%
\lst@definelanguage[XSC]{Pascal}[Standard]{Pascal}
{deletekeywords={alfa,byte,pack,unpack},% 1998 Andreas Stephan
morekeywords={dynamic,external,forward,global,module,nil,operator,%
priority,sum,type,use,dispose,mark,page,release,cimatrix,%
cinterval,civector,cmatrix,complex,cvector,dotprecision,imatrix,%
interval,ivector,rmatrix,rvector,string,im,inf,re,sup,chr,comp,%
eof,eoln,expo,image,ival,lb,lbound,length,loc,mant,maxlength,odd,%
ord,pos,pred,round,rval,sign,substring,succ,trunc,ub,ubound}%
}%
\lst@definelanguage[Borland6]{Pascal}[Standard]{Pascal}
{morekeywords={asm,constructor,destructor,implementation,inline,%
interface,nil,object,shl,shr,string,unit,uses,xor},%
morendkeywords={Abs,Addr,ArcTan,Chr,Concat,Copy,Cos,CSeg,DiskFree,%
DiskSize,DosExitCode,DosVersion,DSeg,EnvCount,EnvStr,Eof,Eoln,%
Exp,FExpand,FilePos,FileSize,Frac,FSearch,GetBkColor,GetColor,%
GetDefaultPalette,GetDriverName,GetEnv,GetGraphMode,GetMaxMode,%
GetMaxX,GetMaxY,GetModeName,GetPaletteSize,GetPixel,GetX,GetY,%
GraphErrorMsg,GraphResult,Hi,ImageSize,InstallUserDriver,%
InstallUserFont,Int,IOResult,KeyPressed,Length,Lo,MaxAvail,%
MemAvail,MsDos,Odd,Ofs,Ord,OvrGetBuf,OvrGetRetry,ParamCount,%
ParamStr,Pi,Pos,Pred,Ptr,Random,ReadKey,Round,SeekEof,SeekEoln,%
Seg,SetAspectRatio,Sin,SizeOf,Sound,SPtr,Sqr,Sqrt,SSeg,Succ,%
Swap,TextHeight,TextWidth,Trunc,TypeOf,UpCase,WhereX,WhereY,%
Append,Arc,Assign,AssignCrt,Bar,Bar3D,BlockRead,BlockWrite,ChDir,%
Circle,ClearDevice,ClearViewPort,Close,CloseGraph,ClrEol,ClrScr,%
Dec,Delay,Delete,DelLine,DetectGraph,Dispose,DrawPoly,Ellipse,%
Erase,Exec,Exit,FillChar,FillEllipse,FillPoly,FindFirst,FindNext,%
FloodFill,Flush,FreeMem,FSplit,GetArcCoords,GetAspectRatio,%
GetDate,GetDefaultPalette,GetDir,GetCBreak,GetFAttr,%
GetFillSettings,GetFTime,GetImage,GetIntVec,GetLineSettings,%
GetMem,GetPalette,GetTextSettings,GetTime,GetVerify,%
GetViewSettings,GoToXY,Halt,HighVideo,Inc,InitGraph,Insert,%
InsLine,Intr,Keep,Line,LineRel,LineTo,LowVideo,Mark,MkDir,Move,%
MoveRel,MoveTo,MsDos,New,NormVideo,NoSound,OutText,OutTextXY,%
OvrClearBuf,OvrInit,OvrInitEMS,OvrSetBuf,PackTime,PieSlice,%
PutImage,PutPixel,Randomize,Rectangle,Release,Rename,%
RestoreCrtMode,RmDir,RunError,Sector,Seek,SetActivePage,%
SetAllPalette,SetBkColor,SetCBreak,SetColor,SetDate,SetFAttr,%
SetFillPattern,SetFillStyle,SetFTime,SetGraphBufSize,%
SetGraphMode,SetIntVec,SetLineStyle,SetPalette,SetRGBPalette,%
SetTextBuf,SetTextJustify,SetTextStyle,SetTime,SetUserCharSize,%
SetVerify,SetViewPort,SetVisualPage,SetWriteMode,Sound,Str,%
SwapVectors,TextBackground,TextColor,TextMode,Truncate,%
UnpackTime,Val,Window}%
}%
\lst@definelanguage[Standard]{Pascal}%
{morekeywords={alfa,and,array,begin,boolean,byte,case,char,const,div,%
do,downto,else,end,false,file,for,function,get,goto,if,in,%
integer,label,maxint,mod,new,not,of,or,pack,packed,page,program,%
put,procedure,read,readln,real,record,repeat,reset,rewrite,set,%
text,then,to,true,type,unpack,until,var,while,with,write,%
writeln},%
sensitive=f,%
morecomment=[d]{(*}{*)}{\{}{\}},%
morestring=[d]'%
}[keywords,comments,strings]%
\lst@definelanguage{Perl}%
{morekeywords={abs,accept,alarm,atan2,bind,binmode,bless,caller,%
chdir,chmod,chomp,chop,chown,chr,chroot,close,closedir,connect,%
continue,cos,crypt,dbmclose,dbmopen,defined,delete,die,do,dump,%
each,else,elsif,endgrent,endhostent,endnetent,endprotoent,%
endpwent,endservent,eof,eval,exec,exists,exit,exp,fcntl,fileno,%
flock,for,foreach,fork,format,formline,getc,getgrent,getgrgid,%
getgrnam,gethostbyaddr,gethostbyname,gethostent,getlogin,%
getnetbyaddr,getnetbyname,getnetent,getpeername,getpgrp,%
getppid,getpriority,getprotobyname,getprotobynumber,getprotoent,%
getpwent,getpwnam,getpwuid,getservbyname,getservbyport,%
getservent,getsockname,getsockopt,glob,gmtime,goto,grep,hex,if,%
import,index,int,ioctl,join,keys,kill,last,lc,lcfirst,length,%
link,listen,local,localtime,log,lstat,m,map,mkdir,msgctl,msgget,%
msgrcv,msgsnd,my,next,no,oct,open,opendir,ord,pack,package,pipe,%
pop,pos,print,printf,prototype,push,q,qq,quotemeta,qw,qx,rand,%
read,readdir,readlink,recv,redo,ref,rename,require,reset,return,%
reverse,rewinddir,rindex,rmdir,s,scalar,seek,seekdir,select,%
semctl,semget,semop,send,setgrent,sethostent,setnetent,setpgrp,%
setpriority,setprotoent,setpwent,setservent,setsockopt,shift,%
shmctl,shmget,shmread,shmwrite,shutdown,sin,sleep,socket,%
socketpair,sort,splice,split,sprintf,sqrt,srand,stat,study,sub,%
substr,symlink,syscall,sysopen,sysread,system,syswrite,tell,%
telldir,tie,tied,time,times,tr,truncate,uc,ucfirst,umask,undef,%
unless,unlink,unpack,unshift,untie,until,use,utime,values,vec,%
wait,waitpid,wantarray,warn,while,write,y},%
sensitive,%
morecomment=[l]\#,%
morestring=[b]",%
morestring=[b]',%
MoreSelectCharTable=%
\lst@ReplaceInput{\$\#}{\lst@ProcessOther\$\lst@ProcessOther\#}%
}[keywords,comments,strings]%
%%
%% POV definition (c) 1999 Berthold Höllmann <bhoel@starship.python.net>
%%
\lst@definelanguage{POV}%
{morekeywords={abs,absorption,acos,acosh,adaptive,adc_bailout,agate,%
agate_turb,all,alpha,ambient,ambient_light,angle,aperture,append,%
arc_angle,area_light,array,asc,asin,asinh,assumed_gamma,atan,%
atan2,atanh,average,background,bezier_spline,bicubic_patch,%
black_hole,blob,blue,blur_samples,bounded_by,box,boxed,bozo,%
break,brick,brick_size,brightness,brilliance,bumps,bump_map,%
bump_size,camera,case,caustics,ceil,checker,chr,clipped_by,clock,%
clock_delta,color,color_map,colour,colour_map,component,%
composite,concat,cone,confidence,conic_sweep,control0,control1,%
cos,cosh,count,crackle,crand,cube,cubic,cubic_spline,cubic_wave,%
cylinder,cylindrical,debug,declare,default,defined,degrees,%
density,density_file,density_map,dents,difference,diffuse,%
dimensions,dimension_size,direction,disc,distance,%
distance_maximum,div,eccentricity,else,emission,end,error,%
error_bound,exp,extinction,fade_distance,fade_power,falloff,%
falloff_angle,false,fclose,file_exists,filter,finish,fisheye,%
flatness,flip,floor,focal_point,fog,fog_alt,fog_offset,fog_type,%
fopen,frequency,gif,global_settings,gradient,granite,%
gray_threshold,green,height_field,hexagon,hf_gray_16,hierarchy,%
hollow,hypercomplex,if,ifdef,iff,ifndef,image_map,include,int,%
interior,interpolate,intersection,intervals,inverse,ior,irid,%
irid_wavelength,jitter,julia_fractal,lambda,lathe,leopard,%
light_source,linear_spline,linear_sweep,local,location,log,%
looks_like,look_at,low_error_factor,macro,mandel,map_type,marble,%
material,material_map,matrix,max,max_intersections,max_iteration,%
max_trace_level,media,media_attenuation,media_interaction,merge,%
mesh,metallic,min,minimum_reuse,mod,mortar,nearest_count,no,%
normal,normal_map,no_shadow,number_of_waves,object,octaves,off,%
offset,omega,omnimax,on,once,onion,open,orthographic,panoramic,%
perspective,pgm,phase,phong,phong_size,pi,pigment,pigment_map,%
planar,plane,png,point_at,poly,polygon,poly_wave,pot,pow,ppm,%
precision,prism,pwr,quadratic_spline,quadric,quartic,quaternion,%
quick_color,quick_colour,quilted,radial,radians,radiosity,radius,%
rainbow,ramp_wave,rand,range,ratio,read,reciprocal,%
recursion_limit,red,reflection,reflection_exponent,refraction,%
render,repeat,rgb,rgbf,rgbft,rgbt,right,ripples,rotate,roughness,%
samples,scale,scallop_wave,scattering,seed,shadowless,sin,%
sine_wave,sinh,sky,sky_sphere,slice,slope_map,smooth,%
smooth_triangle,sor,specular,sphere,spherical,spiral1,spiral2,%
spotlight,spotted,sqr,sqrt,statistics,str,strcmp,strength,strlen,%
strlwr,strupr,sturm,substr,superellipsoid,switch,sys,t,tan,tanh,%
text,texture,texture_map,tga,thickness,threshold,tightness,tile2,%
tiles,torus,track,transform,translate,transmit,triangle,%
triangle_wave,true,ttf,turbulence,turb_depth,type,u,%
ultra_wide_angle,undef,union,up,use_color,use_colour,use_index,%
u_steps,v,val,variance,vaxis_rotate,vcross,vdot,version,vlength,%
vnormalize,vrotate,v_steps,warning,warp,water_level,waves,while,%
width,wood,wrinkles,write,x,y,yes,z},%
moredirectives={break,case,debug,declare,default,else,end,fclose,%
fopen,local,macro,read,render,statistics,switch,undef,version,%
warning,write},%
sensitive,%
morecomment=[l]//,%
morecomment=[s]{/*}{*/},%
morestring=[d]",%
}[keywords,directives,comments,strings]%
%%
%% Python definition (c) 1998 Michael Weber
%% <mweber@informatik.hu-berlin.de>
%%
\lst@definelanguage{Python}%
{morekeywords={access,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},%
sensitive=true,%
morecomment=[l]\#,%
morecomment=[s]{'''}{'''},% used for documentation text
morestring=',%
morestring="%
}%
%%
%% SQL definition (c) 1998 Christian Haul
%% <haul@dvs1.informatik.tu-darmstadt.de>
%%
\lst@definelanguage{SQL}%
{morekeywords={ABSOLUTE,ACTION,ADD,ALLOCATE,ALTER,ARE,ASSERTION,AT,%
BETWEEN,BIT,BIT_LENGTH,BOTH,BY,CASCADE,CASCADED,CASE,CAST,%
CATALOG,CHAR,CHAR_LENGTH,CHARACTER_LENGTH,CLUSTER,COALESCE,%
COLLATE,COLLATION,COLUMN,CONNECT,CONNECTION,CONSTRAINT,%
CONSTRAINTS,CONVERT,CORRESPONDING,CREATE,CROSS,CURRENT_DATE,%
CURRENT_TIME,CURRENT_TIMESTAMP,CURRENT_USER,DATE,DAY,DEALLOCATE,%
DEC,DECIMAL,DEFERRABLE,DEFERED,DESCRIBE,DESCRIPTOR,DIAGNOSTICS,%
DISCONNECT,DOMAIN,DROP,ELSE,END,EXEC,EXCEPT,EXCEPTION,EXECUTE,%
EXTERNAL,EXTRACT,FALSE,FIRST,FLOAT,FOREIGN,FROM,FULL,GET,GLOBAL,%
GRAPHIC,HAVING,HOUR,IDENTITY,IMMEDIATE,INDEX,INITIALLY,INNER,%
INPUT,INSENSITIVE,INT,INTEGER,INTERSECT,INTERVAL,ISOLATION,JOIN,%
KEY,LAST,LEADING,LEFT,LEVEL,LOCAL,LOWER,MATCH,MINUTE,MONTH,NAMES,%
NATIONAL,NATURAL,NCHAR,NEXT,NO,NOT,NULL,NULLIF,OCTET_LENGTH,ON,%
ONLY,ORDERED,OUTER,OUTPUT,OVERLAPS,PAD,PARTIAL,POSITION,PREPARE,%
PRESERVE,PRIMARY,PRIOR,READ,RELATIVE,RESTRICT,REVOKE,RIGHT,ROWS,%
SCROLL,SECOND,SELECT,SESSION,SESSION_USER,SIZE,SMALLINT,SPACE,%
SQLSTATE,SUBSTRING,SYSTEM_USER,TABLE,TEMPORARY,THEN,TIME,%
TIMESTAMP,TIMEZONE_HOUR,TIMEZONE_MINUTE,TRAILING,TRANSACTION,%
TRANSLATE,TRANSLATION,TRIM,TRUE,UNIQUE,UNKNOWN,UPPER,USAGE,USING,%
VALUE,VARCHAR,VARGRAPHIC,VARYING,WHEN,WHERE,WRITE,YEAR,ZONE},%
sensitive,%
morecomment=[l]--,%
morecomment=[s]{/*}{*/},%
morestring=[d]',%
morestring=[d]"%
}[keywords,comments,strings]%
%%
%% VHDL definition (c) 1997 Kai Wollenweber <kai@ece.wpi.edu>
%%
\lst@definelanguage{VHDL}%
{morekeywords={ALL,ARCHITECTURE,ABS,AND,ASSERT,ARRAY,AFTER,ALIAS,%
ACCESS,ATTRIBUTE,BEGIN,BODY,BUS,BLOCK,BUFFER,CONSTANT,CASE,%
COMPONENT,CONFIGURATION,DOWNTO,ELSE,ELSIF,END,ENTITY,EXIT,%
FUNCTION,FOR,FILE,GENERIC,GENERATE,GUARDED,GROUP,IF,IN,INOUT,IS,%
INERTIAL,IMPURE,LIBRARY,LOOP,LABEL,LITERAL,LINKAGE,MAP,MOD,NOT,%
NOR,NAND,NULL,NEXT,NEW,OUT,OF,OR,OTHERS,ON,OPEN,PROCESS,PORT,%
PACKAGE,PURE,PROCEDURE,POSTPONED,RANGE,REM,ROL,ROR,REPORT,RECORD,%
RETURN,REGISTER,REJECT,SIGNAL,SUBTYPE,SLL,SRL,SLA,SRA,SEVERITY,%
SELECT,THEN,TYPE,TRANSPORT,TO,USE,UNITS,UNTIL,VARIABLE,WHEN,WAIT,%
WHILE,XOR,XNOR},%
sensitive=f,% 1998 Gaurav Aggarwal
morecomment=[l]--,%
morestring=[d]{"}%
}[keywords,comments,strings]%
\endinput
%%
%% End of file `lstlang1.sty'.

634
docs/styles/lstlang2.sty Normal file
View File

@ -0,0 +1,634 @@
%%
%% This is file `lstlang2.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% lstdrvrs.dtx (with options: `lang2')
%%
%% (w)(c) 1996/1997/1998/1999/2000 Carsten Heinz and/or any other author
%% listed elsewhere in this file.
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
%% Either version 1.0 or, at your option, any later version.
%%
%% This file is completely free and comes without any warranty.
%%
%% Permission is granted to change this file. You are not allowed to
%% distribute any changed version of this file, neither under the same
%% name nor under a different one.
%%
%% Send comments and ideas on the package, error reports and additional
%% programming languages to <cheinz@gmx.de>.
%%
%%
%% Abap definition by Knut Lickert <knut.lickert@gmx.de>
%%
\lst@definelanguage[R/3 4.6C]{ABAP}[R/3 3.1]{ABAP}%
{morekeywords={method,ref,class,create,object},%
literate={->}{{$\to$}}1,%
}[keywords,comments,strings]
\lst@definelanguage[R/3 3.1]{ABAP}[R/2 5.0]{ABAP}{}%
\lst@definelanguage[R/2 5.0]{ABAP}%
{sensitive=f,%
morekeywords={*,add,after,alias,analyzer,and,append,area,assign,at,%
authority-check,before,binary,blank,break-point,calendar,call,%
case,change,changing,check,clear,cnt,co,collect,commit,common,%
component,compute,condense,cos,cp,cs,currency-conversion,%
cursor,data,database,dataset,decimals,define,delete,dequeue,%
describe,detail,dialog,directory,div,divide,do,documentation,%
during,dynpro,else,end-of-page,end-of-selection,endat,endcase,%
enddo,endfor,endform,endif,endloop,endmodule,endselect,%
endwhile,enqueue,exceptions,exit,exp,export,exporting,extract,%
field,field-groups,field-symbols,find,for,form,format,free,%
from,function,generating,get,giving,hide,id,if,import,%
importing,in,incl,include,initial,initialization,input,insert,%
interrupt,into,is,language,leave,like,line,lines,line-count,
line-selection,list-processing,load,local,log,logfile,loop,%
margin,mark,mask,memory,menue,message,mod,modify,module,move,%
move-text,multiply,na,new,new-line,new-page,no-gaps,np,ns,%
number,obligatory,occurs,of,on,or,others,output,parameter,%
parameters,parts,perform,pf-status,places,position,process,%
raise,raising,ranges,read,refresh,refresh-dynpro,reject,remote,%
replace,report,reserve,reset,restart,run,screen,scroll,search,%
segments,select,select-options,selection-screen,set,shift,sin,%
single,sqrt,start-of-selection,statement,structure,submit,%
subtract,summary,summing,suppress,system,table,tables,task,%
text,time,to,top-of-page,trace,transaction,transfer,%
transfer-dynpro,translate,type,unpack,update,user-command,%
using,value,when,where,while,window,with,workfile,write,},%
morecomment=[l]",%
morecomment=[f][0]*,%
}[keywords,comments,strings]
\lst@definelanguage[R/2 4.3]{ABAP}[R/2 5.0]{ABAP}%
{deletekeywords={function,importing,exporting,changing,exceptions,%
raise,raising}%
}[keywords,comments,strings]
%%
%% Corba IDL definition (c) 1999 Jens T. Berger Thielemann
%% <jensthi@ifi.uio.no>
%%
\lst@definelanguage[CORBA]{IDL}%
{morekeywords={any,attribute,boolean,case,char,const,context,default,%
double,enum,exception,fixed,float,in,inout,interface,long,module,%
native,Object,octet,oneway,out,raises,readonly,sequence,short,%
string,struct,switch,typedef,union,unsigned,void,wchar,wstring,%
FALSE,TRUE},%
sensitive,%
moredirectives={define,elif,else,endif,error,if,ifdef,ifndef,line,%
include,pragma,undef,warning},%
morecomment=[l]//,%
morecomment=[s]{/*}{*/},%
morestring=[b]"%
}[keywords,comments,strings]%
%%
%% (Objective) Caml definition (c) 1999 Patrick Cousot
%% <Patrick.Cousot@wanadoo.fr>
%%
%% Objective CAML and Caml light are freely available, together with a
%% reference manual, at URL ftp.inria.fr/lang/caml-light for the Unix,
%% Windows and Macintosh OS operating systems.
%%
\lst@definelanguage[Objective]{Caml}[light]{Caml}
{deletekeywords={not,prefix,value,where},%
morekeywords={assert,asr,class,closed,constraint,external,false,%
functor,include,inherit,land,lazy,lor,lsl,lsr,lxor,method,mod,%
module,new,open,parser,private,sig,struct,true,val,virtual,when},%
}%
\lst@definelanguage[light]{Caml}
{morekeywords={and,as,begin,do,done,downto,else,end,exception,for,%
fun,function,if,in,let,match,mutable,not,of,or,prefix,rec,then,%
to,try,type,value,where,while,with},%
sensitive,%
morecomment=[n]{(*}{*)},%
morestring=[b]",%
moredirectives={open,close,include}%
}[keywords,comments,strings,directives]%
\lst@definelanguage[ibm]{Cobol}[1985]{Cobol}%
{morekeywords={ADDRESS,BEGINNING,COMP-3,COMP-4,COMPUTATIONAL,%
COMPUTATIONAL-3,COMPUTATIONAL-4,DISPLAY-1,EGCS,EJECT,ENDING,%
ENTRY,GOBACK,ID,MORE-LABELS,NULL,NULLS,PASSWORD,RECORDING,%
RETURN-CODE,SERVICE,SKIP1,SKIP2,SKIP3,SORT-CONTROL,SORT-RETURN,%
SUPPRESS,TITLE,WHEN-COMPILED},%
}%
\lst@definelanguage[1985]{Cobol}[1974]{Cobol}%
{morekeywords={ALPHABET,ALPHABETIC-LOWER,ALPHABETIC-UPPER,%
ALPHANUMERIC,ALPHANUMERIC-EDITED,ANY,CLASS,COMMON,CONTENT,%
CONTINUE,DAY-OF-WEEK,END-ADD,END-CALL,END-COMPUTE,END-DELETE,%
END-DIVIDE,END-EVALUATE,END-IF,END-MULTIPLY,END-PERFORM,END-READ,%
END-RECEIVE,END-RETURN,END-REWRITE,END-SEARCH,END-START,%
END-STRING,END-SUBTRACT,END-UNSTRING,END-WRITE,EVALUATE,EXTERNAL,%
FALSE,GLOBAL,INITIALIZE,NUMERIC-EDITED,ORDER,OTHER,%
PACKED-DECIMAL,PADDING,PURGE,REFERENCE,RELOAD,REPLACE,STANDARD-1,%
STANDARD-2,TEST,THEN,TRUE},%
}%
\lst@definelanguage[1974]{Cobol}%
{morekeywords={ACCEPT,ACCESS,ADD,ADVANCING,AFTER,ALL,ALPHABETIC,ALSO,%
ALTER,ALTERNATE,AND,ARE,AREA,AREAS,ASCENDING,ASSIGN,AT,AUTHOR,%
BEFORE,BINARY,BLANK,BLOCK,BOTTOM,BY,CALL,CANCEL,CD,CF,CH,%
CHARACTER,CHARACTERS,CLOCK-UNITS,CLOSE,COBOL,CODE,CODE-SET,%
COLLATING,COLUMN,COMMA,COMMUNICATION,COMP,COMPUTE,CONFIGURATION,%
CONTAINS,CONTROL,CONTROLS,CONVERTING,COPY,CORR,CORRESPONDING,%
COUNT,CURRENCY,DATA,DATE,DATE-COMPILED,DATE-WRITTEN,DAY,DE,%
DEBUG-CONTENTS,DEGUB-ITEM,DEBUG-LINE,DEBUG-NAME,DEBUG-SUB1,%
DEBUG-SUB2,DEBUG-SUB3,DEBUGGING,DECIMAL-POINT,DECLARATIVES,%
DELETE,DELIMITED,DELIMITER,DEPENDING,DESCENDING,DESTINATION,%
DETAIL,DISABLE,DISPLAY,DIVIDE,DIVISION,DOWN,DUPLICATES,DYNAMIC,%
EGI,ELSE,EMI,ENABLE,END,END-OF-PAGE,ENTER,ENVIRONMENT,EOP,EQUAL,%
ERROR,ESI,EVERY,EXCEPTION,EXIT,EXTEND,FD,FILE,FILE-CONTROL,%
FILLER,FINAL,FIRST,FOOTING,FOR,FROM,GENERATE,GIVING,GO,GREATER,%
GROUP,HEADING,HIGH-VALUE,HIGH-VALUES,I-O,I-O-CONTROL,%
IDENTIFICATION,IF,IN,INDEX,INDEXED,INDICATE,INITIAL,INITIATE,%
INPUT,INPUT-OUTPUT,INSPECT,INSTALLATION,INTO,INVALID,IS,JUST,%
JUSTIFIED,KEY,LABEL,LAST,LEADING,LEFT,LENGTH,LESS,LIMIT,LIMITS,%
LINAGE,LINAGE-COUNTER,LINE,LINE-COUNTER,LINES,LINKAGE,LOCK,%
LOW-VALUE,LOW-VALUES,MEMORY,MERGE,MESSAGE,MODE,MODULES,MOVE,%
MULTIPLE,MULTIPLY,NATIVE,NEGATIVE,NEXT,NO,NOT,NUMBER,NUMERIC,%
OBJECT-COMPUTER,OCCURS,OF,OFF,OMITTED,ON,OPEN,OPTIONAL,OR,%
ORGANIZATION,OUTPUT,OVERFLOW,PAGE,PAGE-COUNTER,PERFORM,PF,PH,PIC,%
PICTURE,PLUS,POINTER,POSITION,PRINTING,POSITIVE,PRINTING,%
PROCEDURE,PROCEDURES,PROCEED,PROGRAM,PROGRAM-ID,QUEUE,QUOTE,%
QUOTES,RANDOM,RD,READ,RECEIVE,RECORD,RECORDING,RECORDS,REDEFINES,%
REEL,REFERENCES,RELATIVE,RELEASE,REMAINDER,REMOVAL,RENAMES,%
REPLACING,REPORT,REPORTING,REPORTS,RERUN,RESERVE,RESET,RETURN,%
REVERSED,REWIND,REWRITE,RF,RH,RIGHT,ROUNDED,RUN,SAME,SD,SEARCH,%
SECTION,SECURITY,SEGMENT,SEGMENT-LIMIT,SELECT,SEND,SENTENCE,%
SEPARATE,SEQUENCE,SEQUENTIAL,SET,SIGN,SIZE,SORT,SORT-MERGE,%
SOURCE,SOURCE-COMPUTER,SPACE,SPACES,SPECIAL-NAMES,STANDARD,START,%
STATUS,STOP,STRING,SUB-QUEUE-1,SUB-QUEUE-2,SUB-QUEUE-3,SUBTRACT,%
SUM,SYMBOLIC,SYNC,SYNCHRONIZED,TABLE,TALLYING,TAPE,TERMINAL,%
TERMINATE,TEXT,THAN,THROUGH,THRU,TIME,TIMES,TO,TOP,TRAILING,TYPE,%
UNIT,UNSTRING,UNTIL,UP,UPON,USAGE,USE,USING,VALUE,VALUES,VARYING,%
WHEN,WITH,WORDS,WORKING-STORAGE,WRITE,ZERO,ZEROES,ZEROS},%
sensitive=f,% ???
morecomment=[f][6]*,%
morestring=[d]"% ??? doubled
}[keywords,comments,strings]%
\lst@definelanguage{Delphi}%
{morekeywords={and,as,asm,array,begin,case,class,const,constructor,%
destructor,div,do,downto,else,end,except,exports,file,finally,%
for,function,goto,if,implementation,in,inherited,inline,%
initialization,interface,is,label,library,mod,nil,not,object,of,%
or,packed,procedure,program,property,raise,record,repeat,set,%
shl,shr,string,then,to,try,type,unit,until,uses,var,while,with,%
xor,%
absolute,abstract,assembler,at,cdecl,default,dynamic,export,%
external,far,forward,index,name,near,nodefault,on,override,%
private,protected,public,published,read,resident,storedDir,%
virtual,write},%
morendkeywords={Abs,AddExitProc,Addr,AllocMem,AnsiCompareStr,%
AnsiCompareText,AnsiLowerCase,AnsiUpperCase,Append,AppendStr,%
ArcTan,AssignCrt,Assigned,AssignFile,BlockRead,BlockWrite,Break,%
ChangeFileExt,ChDir,Chr,CloseFile,ClrEol,ClrScr,Concat,Continue,%
Copy,Cos,CSeg,CursorTo,Date,DateTimeToFileDate,DateTimeToStr,%
DateTimeToString,DateToStr,DayOfWeek,Dec,DecodeDate,DecodeTime,%
Delete,DeleteFile,DiskFree,DiskSize,Dispose,DisposeStr,%
DoneWinCrt,DSeg,EncodeDate,EncodeTime,Eof,Eoln,Erase,Exclude,%
Exit,Exp,ExpandFileName,ExtractFileExt,ExtractFileName,%
ExtractFilePath,FileAge,FileClose,FileDateToDateTime,FileExists,%
FileGetAttr,FileGetDate,FileOpen,FilePos,FileRead,FileSearch,%
FileSeek,FileSetAttr,FileSetDate,FileSize,FillChar,FindClose,%
FindFirst,FindNext,FloatToDecimal,FloatToStrF,FloatToStr,%
FloatToText,FloatToTextFmt,Flush,FmtLoadStr,FmtStr,Format,%
FormatBuf,FormatDateTime,FormatFloat,Frac,Free,FreeMem,GetDir,%
GetMem,GotoXY,Halt,Hi,High,Inc,Include,InitWinCrt,Insert,Int,%
IntToHex,IntToStr,IOResult,IsValidIdent,KeyPressed,Length,Ln,Lo,%
LoadStr,Low,LowerCase,MaxAvail,MemAvail,MkDir,Move,New,NewStr,%
Now,Odd,Ofs,Ord,ParamCount,ParamStr,Pi,Pos,Pred,Ptr,Random,%
Randomize,Read,ReadBuf,ReadKey,Readln,ReAllocMem,Rename,%
RenameFile,Reset,Rewrite,RmDir,Round,RunError,ScrollTo,Seek,%
SeekEof,SeekEoln,Seg,SetTextBuf,Sin,SizeOf,SPtr,Sqr,Sqrt,SSeg,%
Str,StrCat,StrComp,StrCopy,StrDispose,StrECopy,StrEnd,StrFmt,%
StrLCat,StrIComp,StrLComp,StrLCopy,StrLen,StrLFmt,StrLIComp,%
StrLower,StrMove,StrNew,StrPas,StrPCopy,StrPos,StrScan,StrRScan,%
StrToDate,StrToDateTime,StrToFloat,StrToInt,StrToIntDef,%
StrToTime,StrUpper,Succ,Swap,TextToFloat,Time,TimeToStr,%
TrackCursor,Trunc,Truncate,TypeOf,UpCase,UpperCase,Val,WhereX,%
WhereY,Write,WriteBuf,WriteChar,Writeln},%
sensitive=f,%
morecomment=[d]{(*}{*)}{\{}{\}},%
morestring=[d]'%
}[keywords,comments,strings]%
\lst@definelanguage{Eiffel}%
{morekeywords={alias,all,and,as,BIT,BOOLEAN,CHARACTER,check,class,%
creation,Current,debug,deferred,do,DOUBLE,else,elseif,end,%
ensure,expanded,export,external,false,feature,from,frozen,if,%
implies,indexing,infix,inherit,inspect,INTEGER,invariant,is,%
like,local,loop,NONE,not,obsolete,old,once,or,POINTER,prefix,%
REAL,redefine,rename,require,rescue,Result,retry,select,%
separate,STRING,strip,then,true,undefine,unique,until,variant,%
when,xor},%
sensitive,%
morecomment=[l]--,%
morestring=[d]",%
stringtest=false%
}[keywords,comments,strings]%
%%
%% Euphoria definition (c) 1998 Detlef Reimers <dreimers@aol.com>
%%
\lst@definelanguage{Euphoria}%
{morekeywords={abort,and,and_bits,append,arctan,atom,by,call,%
call_proc,call_func,c_proc,c_func,clear_screen,close,%
command_line,compare,constant,cos,do,date,else,elsif,end,exit,%
find,floor,for,function,getc,getenv,get_key,gets,global,%
get_pixel,if,include,integer,length,log,match,machine_func,%
machine_proc,mem_copy,mem_set,not,not_bits,or,object,open,%
or_bits,procedure,puts,position,prepend,print,printf,power,peek,%
poke,pixel,poke4,peek4s,peek4u,return,rand,repeat,remainder,%
routine_id,sequence,sqrt,sin,system,sprintf,then,type,to,time,%
trace,tan,while,with,without,xor,xor_bits},%
sensitive,%
morecomment=[l]--,%
morestring=[d]',%
morestring=[d]"%
}[keywords,comments,strings]%
%%
%% Haskell98 as implemented in Hugs98. See http://www.haskell.org
%% All keywords from Prelude and Standard Libraries
%% (c) 1999 Peter Bartke <bartke@inf.fu-berlin.de>
%%
\lst@definelanguage{Haskell}%
{otherkeywords={=>},%
keywords={abstype,if,then,else,case,class,data,default,deriving,%
hiding,if,in,infix,infixl,infixr,import,instance,let,module,%
newtype,of,qualified,type,where,do,AbsoluteSeek,AppendMode,%
Array,BlockBuffering,Bool,BufferMode,Char,Complex,Double,Either,%
FilePath,Float,Int,Integer,IO,IOError,Ix,LineBuffering,Maybe,%
Ordering,NoBuffering,ReadMode,ReadWriteMode,ReadS,RelativeSeek,%
SeekFromEnd,SeekMode,ShowS,StdGen,String,Void,Bounded,Enum,Eq,%
Eval,ExitCode,exitFailure,exitSuccess,Floating,Fractional,%
Functor,Handle,HandlePosn,IOMode,Integral,List,Monad,MonadPlus,%
MonadZero,Num,Numeric,Ord,Random,RandomGen,Ratio,Rational,Read,%
Real,RealFloat,RealFrac,Show,System,Prelude,EQ,False,GT,Just,%
Left,LT,Nothing,Right,WriteMode,True,abs,accum,accumArray,%
accumulate,acos,acosh,all,and,any,ap,appendFile,applyM,%
approxRational,array,asTypeOf,asin,asinh,assocs,atan,atan2,atanh,%
bounds,bracket,bracket_,break,catch,catMaybes,ceiling,chr,cis,%
compare,concat,concatMap,conjugate,const,cos,cosh,curry,cycle,%
decodeFloat,delete,deleteBy,deleteFirstsBy,denominator,%
digitToInt,div,divMod,drop,dropWhile,either,elem,elems,elemIndex,%
elemIndices,encodeFloat,enumFrom,enumFromThen,enumFromThenTo,%
enumFromTo,error,even,exitFailure,exitWith,exp,exponent,fail,%
filter,filterM,find,findIndex,findIndices,flip,floatDigits,%
floatRadix,floatRange,floatToDigits,floor,foldl,foldM,foldl1,%
foldr,foldr1,fromDouble,fromEnum,fromInt,fromInteger,%
fromIntegral,fromJust,fromMaybe,fromRat,fromRational,%
fromRealFrac,fst,gcd,genericLength,genericTake,genericDrop,%
genericSplitAt,genericIndex,genericReplicate,getArgs,getChar,%
getContents,getEnv,getLine,getProgName,getStdGen,getStdRandom,%
group,groupBy,guard,hClose,hFileSize,hFlush,hGetBuffering,%
hGetChar,hGetContents,hGetLine,hGetPosn,hIsClosed,hIsEOF,hIsOpen,%
hIsReadable,hIsSeekable,hIsWritable,hLookAhead,hPutChar,hPutStr,%
hPutStrLn,hPrint,hReady,hSeek,hSetBuffering,hSetPosn,head,%
hugsIsEOF,hugsHIsEOF,hugsIsSearchErr,hugsIsNameErr,%
hugsIsWriteErr,id,ioError,imagPart,index,indices,init,inits,%
inRange,insert,insertBy,interact,intersect,intersectBy,%
intersperse,intToDigit,ioeGetErrorString,ioeGetFileName,%
ioeGetHandle,isAlreadyExistsError,isAlreadyInUseError,isAlpha,%
isAlphaNum,isAscii,isControl,isDenormalized,isDoesNotExistError,%
isDigit,isEOF,isEOFError,isFullError,isHexDigit,isIEEE,%
isIllegalOperation,isInfinite,isJust,isLower,isNaN,%
isNegativeZero,isNothing,isOctDigit,isPermissionError,isPrefixOf,%
isPrint,isSpace,isSuffixOf,isUpper,isUserError,iterate,ixmap,%
join,last,lcm,length,lex,lexDigits,lexLitChar,liftM,liftM2,%
liftM3,liftM4,liftM5,lines,listArray,listToMaybe,log,logBase,%
lookup,magnitude,makePolar,map,mapAccumL,mapAccumR,mapAndUnzipM,%
mapM,mapM_,mapMaybe,max,maxBound,maximum,maximumBy,maybe,%
maybeToList,min,minBound,minimum,minimumBy,mkPolar,mkStdGen,%
mplus,mod,msum,mzero,negate,next,newStdGen,not,notElem,nub,nubBy,%
null,numerator,odd,openFile,or,ord,otherwise,partition,phase,pi,%
polar,pred,print,product,properFraction,putChar,putStr,putStrLn,%
quot,quotRem,random,randomIO,randomR,randomRIO,randomRs,randoms,%
rangeSize,read,readDec,readFile,readFloat,readHex,readInt,readIO,%
readList,readLitChar,readLn,readParen,readOct,readSigned,reads,%
readsPrec,realPart,realToFrac,recip,rem,repeat,replicate,return,%
reverse,round,scaleFloat,scanl,scanl1,scanr,scanr1,seq,sequence,%
sequence_,setStdGen,show,showChar,showEFloat,showFFloat,%
showFloat,showGFloat,showInt,showList,showLitChar,showParen,%
showSigned,showString,shows,showsPrec,significand,signum,sin,%
sinh,snd,sort,sortBy,span,split,splitAt,sqrt,stderr,stdin,stdout,%
strict,subtract,succ,sum,system,tail,tails,take,takeWhile,tan,%
tanh,toEnum,toInt,toInteger,toLower,toRational,toUpper,transpose,%
truncate,try,uncurry,undefined,unfoldr,union,unionBy,unless,%
unlines,until,unwords,unzip,unzip3,unzip4,unzip5,unzip6,unzip7,%
userError,when,words,writeFile,zero,zip,zip3,zip4,zip5,zip6,zip7,%
zipWith,zipWithM,zipWithM_,zipWith3,zipWith4,zipWith5,zipWith6,%
zipWith7},%
sensitive,%
morecomment=[l]--,%
morecomment=[n]{\{-}{-\}},%
morestrings=[b]"%
}[keywords,comments,strings]%
%%
%% IDL definition (c) 1998 Juergen Heim <heim@astro.uni-tuebingen.de>
%%
\lst@definelanguage{IDL}%
{morekeywords={and,begin,case,common,do,else,end,endcase,endelse,%
endfor,endif,endrep,endwhile,eq,for,function,ge,goto,gt,if,le,lt,%
mod,ne,not,of,on_ioerror,or,pro,repeat,return,then,until,while,%
xor,on_error,openw,openr,openu,print,printf,printu,plot,read,%
readf,readu,writeu,stop},%
sensitive=f,%
morecomment=[l];,%
morestring=[d]'%
}[keywords,comments,strings]%
\lst@definelanguage{Lisp}%
{morekeywords={abort,abs,acons,acos,acosh,adjoin,alphanumericp,alter,%
append,apply,apropos,aref,arrayp,ash,asin,asinh,assoc,atan,atanh,%
atom,bit,boole,boundp,break,butlast,byte,catenate,ceiling,cerror,%
char,character,characterp,choose,chunk,cis,close,clrhash,coerce,%
collect,commonp,compile,complement,complex,complexp,concatenate,%
conjugate,cons,consp,constantp,continue,cos,cosh,cotruncate,%
count,delete,denominator,describe,directory,disassemble,%
documentation,dpb,dribble,ed,eighth,elt,enclose,endp,eq,eql,%
equal,equalp,error,eval,evalhook,evenp,every,exp,expand,export,%
expt,fboundp,fceiling,fdefinition,ffloor,fifth,fill,find,first,%
float,floatp,floor,fmakunbound,format,fourth,fround,ftruncate,%
funcall,functionp,gatherer,gcd,generator,gensym,gentemp,get,getf,%
gethash,identity,imagpart,import,inspect,integerp,intern,%
intersection,tively,isqrt,keywordp,last,latch,lcm,ldb,ldiff,%
length,list,listen,listp,load,log,logand,logbitp,logcount,logeqv,%
logior,lognand,lognor,lognot,logtest,logxor,macroexpand,%
makunbound,map,mapc,mapcan,mapcar,mapcon,maphash,mapl,maplist,%
mask,max,member,merge,min,mingle,minusp,mismatch,mod,namestring,%
nbutlast,nconc,nintersection,ninth,not,notany,notevery,nreconc,%
nreverse,nsublis,nsubst,nth,nthcdr,null,numberp,numerator,nunion,%
oddp,open,packagep,pairlis,pathname,pathnamep,phase,plusp,%
position,positions,pprint,previous,princ,print,proclaim,provide,%
random,rassoc,rational,rationalize,rationalp,read,readtablep,%
realp,realpart,reduce,rem,remhash,remove,remprop,replace,require,%
rest,revappend,reverse,room,round,rplaca,rplacd,sbit,scan,schar,%
search,second,series,set,seventh,shadow,signal,signum,sin,sinh,%
sixth,sleep,some,sort,split,sqrt,streamp,string,stringp,sublis,%
subseq,subseries,subsetp,subst,substitute,subtypep,svref,sxhash,%
symbolp,tailp,tan,tanh,tenth,terpri,third,truename,truncate,%
typep,unexport,unintern,union,until,values,vector,vectorp,warn,%
write,zerop,and,assert,case,ccase,cond,ctypecase,decf,declaim,%
defclass,defconstant,defgeneric,defmacro,defmethod,defpackage,%
defparameter,defsetf,defstruct,deftype,defun,defvar,do,dolist,%
dotimes,ecase,encapsulated,etypecase,flet,formatter,gathering,%
incf,iterate,labels,let,locally,loop,macrolet,mapping,or,pop,%
producing,prog,psetf,psetq,push,pushnew,remf,return,rotatef,%
setf,shiftf,step,time,trace,typecase,unless,untrace,when},%
sensitive,% ???
alsodigit=-,%
morecomment=[l];,%
morecomment=[s]{\#|}{|\#},% 1997 Aslak Raanes
morestring=[b]"%
}[keywords,comments,strings]%
%%
%% Make definitions (c) 2000 Rolf Niepraschk <niepraschk@ptb.de>
%%
\lst@definelanguage[gnu]{make}%
{morekeywords={SHELL,MAKE,MAKEFLAGS,$@,$\%,$<,$?,$^,$+,$*,%
export,unexport,include,override,define,ifdef,ifneq,ifeq,else,%
endif,vpath,subst,patsubst,strip,findstring,filter,filter-out,%
sort,dir,notdir,suffix,basename,addsuffix,addprefix,join,word,%
words,firstword,wildcard,shell,origin,foreach,%
@D,@F,*D,*F,\%D,\%F,<D,<F,^D,^F,+D,+F,?D,?F,%
AR,AS,CC,CXX,CO,CPP,FC,GET,LEX,PC,YACC,YACCR,MAKEINFO,TEXI2DVI,%
WEAVE,CWEAVE,TANGLE,CTANGLE,RM,M2C,LINT,COMPILE,LINK,PREPROCESS,%
CHECKOUT,%
ARFLAGS,ASFLAGS,CFLAGS,CXXFLAGS,COFLAGS,CPPFLAGS,FFLAGS,GFLAGS,%
LDFLAGS,LOADLIBES,LFLAGS,PFLAGS,RFLAGS,YFLAGS,M2FLAGS,MODFLAGS,%
LINTFLAGS,MAKEINFO_FLAGS,TEXI2DVI_FLAGS,COFLAGS,GFLAGS,%
OUTPUT_OPTION,SCCS_OUTPUT_OPTION%
.PHONY,.SUFFIXES,.DEFAULT,.PRECIOUS,.INTERMEDIATE,.SECONDARY,%
.IGNORE,.SILENT,.EXPORT_ALL_VARIABLES,MAKEFILES,VPATH,MAKESHELL,%
MAKELEVEL,MAKECMDGOALS,SUFFIXES},%
sensitive=true,
morecomment=[l]\#,%
morestring="%
}[keywords,comments,strings,make]%
\lst@definelanguage{make}
{morekeywords={SHELL,MAKE,MAKEFLAGS,$@,$\%,$<,$?,$^,$+,$*},%
sensitive=true,%
morecomment=[l]\#,%
morestring="%
}[keywords,comments,strings,make]%
%%
%% Mercury definition (c) 1997 Dominique de Waleffe <ddw@miscrit.be>
%%
\lst@definelanguage{Mercury}%
{otherkeywords={::,->,-->,--->,:-},%
morekeywords={pred,type,module,end_module,import_module,mode,%
pragma,func,lambda,det,semidet,erroneous,multi,true,fail,is,in,%
out,di,uo,ui,interface,implementation},%
sensitive=f,%
morecomment=[l]\%,%
morecomment=[s]{/*}{*/},%
morestring=[bd]",%
morestring=[bd]'%
}[keywords,comments,strings]%
%%
%% Miranda definition (c) 1998 Peter Bartke <bartke@inf.fu-berlin.de>
%%
%% Miranda: pure lazy functional language with polymorphic type system,
%% garbage collection and functions as first class citizens
%%
\lst@definelanguage{Miranda}%
{morekeywords={abstype,div,if,mod,otherwise,readvals,show,type,where,%
with,bool,char,num,sys_message,False,True,Appendfile,Closefile,%
Exit,Stderr,Stdout,System,Tofile,\%include,\%export,\%free,%
\%insert,abs,and,arctan,cjustify,code,concat,const,converse,cos,%
decode,digit,drop,dropwhile,entier,error,exp,filemode,filter,%
foldl,foldl1,foldr,foldr1,force,fst,getenv,hd,hugenum,id,index,%
init,integer,iterate,last,lay,layn,letter,limit,lines,ljustify,%
log,log10,map,map2,max,max2,member,merge,min,min2,mkset,neg,%
numval,or,pi,postfix,product,read,rep,repeat,reverse,rjustify,%
scan,seq,showfloat,shownum,showscaled,sin,snd,sort,spaces,sqrt,%
subtract,sum,system,take,takewhile,tinynum,tl,transpose,undef,%
until,zip2,zip3,zip4,zip5,zip6,zip},%
sensitive,%
morecomment=[l]||,%
morestring=[b]"%
}[keywords,comments,strings]%
%%
%% ML definition (c) 1999 Torben Hoffmann <toho@it.dtu.dk>
%%
\lst@definelanguage{ML}%
{morekeywords={abstype,and,andalso,as,case,do,datatype,else,end,%
eqtype,exception,fn,fun,functor,handle,if,in,include,infix,%
infixr,let,local,nonfix,of,op,open,orelse,raise,rec,sharing,sig,%
signature,struct,structure,then,type,val,with,withtype,while},%
sensitive,%
morecomment=[n]{(*}{*)},%
morestring=[d]"%
}[keywords,comments,strings]%
%%
%% Prolog definition (c) 1997 Dominique de Waleffe <ddw@miscrit.be>
%%
\lst@definelanguage{Prolog}%
{morekeywords={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},%
sensitive=f,%
morecomment=[l]\%,%
morecomment=[s]{/*}{*/},%
morestring=[bd]",%
morestring=[bd]'%
}[keywords,comments,strings]%
%%
%% SHELXL definition (c) 1999 Aidan Philip Heerdegen
%% <Aidan.Heerdegen@anu.edu.au>
%%
\lst@definelanguage{SHELXL}%
{morekeywords={TITL,CELL,ZERR,LATT,SYMM,SFAC,DISP,UNIT,LAUE,%
REM,MORE,TIME,END,HKLF,OMIT,SHEL,BASF,TWIN,EXTI,SWAT,%
MERG,SPEC,RESI,MOVE,ANIS,AFIX,HFIX,FRAG,FEND,EXYZ,EADP,%
EQIV,OMIT,CONN,PART,BIND,FREE,DFIX,BUMP,SAME,SADI,CHIV,%
FLAT,DELU,SIMU,DEFS,ISOR,SUMP,L.S.,CGLS,SLIM,BLOC,DAMP,%
WGHT,FVAR,BOND,CONF,MPLA,RTAB,LIST,ACTA,SIZE,TEMP,WPDB,%
FMAP,GRID,PLAN,MOLE},%
sensitive=false,%
alsoother=_,% Makes the syntax highlighting ignore the underscores
morecomment=[l]{! },%
}%
%%
%% Tcl/Tk definition (c) Gerd Neugebauer <gerd.neugebauer@gmx.de>
%%
\lst@definelanguage[tk]{tcl}[]{tcl}%
{morekeywords={activate,add,separator,radiobutton,checkbutton,%
command,cascade,all,bell,bind,bindtags,button,canvas,canvasx,%
canvasy,cascade,cget,checkbutton,config,configu,configur,%
configure,clipboard,create,arc,bitmap,image,line,oval,polygon,%
rectangle,text,textwindow,curselection,delete,destroy,end,entry,%
entrycget,event,focus,font,actual,families,measure,metrics,names,%
frame,get,grab,current,release,status,grid,columnconfigure,%
rowconfigure,image,image,create,bitmap,photo,delete,height,types,%
widt,names,index,insert,invoke,itemconfigure,label,listbox,lower,%
menu,menubutton,message,move,option,add,clear,get,readfile,pack,%
photo,place,radiobutton,raise,scale,scroll,scrollbar,search,see,%
selection,send,stdin,stdout,stderr,tag,bind,text,tk,tkerror,%
tkwait,window,variable,visibility,toplevel,unknown,update,winfo,%
class,exists,ismapped,parent,reqwidth,reqheight,rootx,rooty,%
width,height,wm,aspect,client,command,deiconify,focusmodel,frame,%
geometry,group,iconbitmap,iconify,iconmask,iconname,iconposition,%
iconwindow,maxsize,minsize,overrideredirect,positionfrom,%
protocol,sizefrom,state,title,transient,withdraw,xview,yview,%
yposition,%
-accelerator,-activebackground,-activeborderwidth,%
-activeforeground,-after,-anchor,-arrow,-arrowshape,-aspect,%
-async,-background,-before,-bg,-bigincrement,-bitmap,-bordermode,%
-borderwidth,-button,-capstyle,-channel,-class,-closeenough,%
-colormap,-column,-columnspan,-command,-confine,-container,%
-count,-cursor,-data,-default,-detail,-digits,-direction,%
-displayof,-disableforeground,-elementborderwidth,-expand,%
-exportselection,-extend,-family,-fg,-file,-fill,-focus,-font,%
-fontmap,-foreground,-format,-from,-gamma,-global,-height,%
-highlightbackground,-highlightcolor,-highlightthickness,-icon,%
-image,-in,-insertbackground,-insertborderwidth,-insertofftime,%
-insertontime,-imsertwidth,-ipadx,-ipady,-joinstyle,-jump,%
-justify,-keycode,-keysym,-label,-lastfor,-length,-maskdata,%
-maskfile,-menu,-message,-mode,-offvalue,-onvalue,-orient,%
-outlien,-outlinestipple,-overstrike,-override,-padx,-pady,%
-pageanchor,-pageheight,-pagewidth,-pagey,-pagey,-palette,%
-parent,-place,-postcommand,-relheight,-relief,-relwidth,-relx,%
-rely,-repeatdelay,-repeatinterval,-resolution,-root,-rootx,%
-rooty,-rotate,-row,-rowspan,-screen,-selectcolor,-selectimage,%
-sendevent,-serial,-setgrid,-showvalue,-shrink,-side,-size,%
-slant,-sliderlength,-sliderrelief,-smooth,-splinesteps,-state,%
-sticky,-stipple,-style,-subsample,-subwindow,-tags,-takefocus,%
-tearoff,-tearoffcommand,-text,-textvariable,-tickinterval,-time,%
-title,-to,-troughcolor,-type,-underline,-use,-value,-variable,%
-visual,-width,-wrap,-wraplength,-x,-xscrollcommand,-y,%
-bgstipple,-fgstipple,-lmargin1,-lmargin2,-rmargin,-spacing1,%
-spacing2,-spacing3,-tabs,-yscrollcommand,-zoom,%
activate,add,addtag,bbox,cget,clone,configure,coords,%
curselection,debug,delete,delta,deselect,dlineinfo,dtag,dump,%
entrycget,entryconfigure,find,flash,fraction,get,gettags,handle,%
icursor,identify,index,insert,invoke,itemcget,itemconfigure,mark,%
moveto,own,post,postcascade,postscript,put,redither,ranges,%
scale,select,show,tag,type,unpost,xscrollcommand,xview,%
yscrollcommand,yview,yposition}%
}%
\lst@definelanguage[]{tcl}%
{alsoletter={.:,*=&-},%
morekeywords={after,append,array,names,exists,anymore,donesearch,%
get,nextelement,set,size,startsearch,auto_mkindex,binary,break,%
case,catch,cd,clock,close,concat,console,continue,default,else,%
elseif,eof,error,eval,exec,-keepnewline,exit,expr,fblocked,%
fconfigure,fcopy,file,atime,dirname,executable,exists,extension,%
isdirectory,isfile,join,lstat,mtime,owned,readable,readlink,%
rootname,size,stat,tail,type,writable,-permissions,-group,-owner,%
-archive,-hidden,-readonly,-system,-creator,-type,-force,%
fileevent,flush,for,foreach,format,gets,glob,global,history,if,%
incr,info,argsbody,cmdcount,commands,complete,default,exists,%
globals,level,library,locals,patchlevel,procs,script,tclversion,%
vars,interp,join,lappend,lindex,linsert,list,llength,lrange,%
lreplace,lsearch,-exact,-regexp,-glob,lsort,-ascii,-integer,%
-real,-dictionary,-increasing,-decreasing,-index,-command,load,%
namespace,open,package,forget,ifneeded,provide,require,unknown,%
vcompare,versions,vsatisfies,pid,proc,puts,-nonewline,pwd,read,%
regexp,-indices,regsub,-all,-nocaserename,return,scan,seek,set,%
socket,source,split,string,compare,first,index,last,length,match,%
range,tolower,toupper,trim,trimleft,trimright,subst,switch,tell,%
time,trace,variable,vdelete,vinfo,unknown,unset,uplevel,upvar,%
vwait,while,acos,asin,atan,atan2,ceil,cos,cosh,exp,floor,fmod,%
hypot,log,log10,pow,sin,sinh,sqrt,tan,tanh,abs,double,int,round%
},%
morestring=[d]",%
MoreSelectCharTable=%
\lst@CArgX\#\relax\lst@CommentB\lst@CLmode{}{}%
{\ifx\lst@lastother\lstum@backslash
\expandafter\@gobblethree
\fi}\lst@commentstyle
}[keywords,comments,strings]%
%%
%% VBScript definition (c) 2000 Sonja Weidmann <Sonja.Weidmann@sap.com>
%%
\lst@definelanguage{VBScript}%
{morekeywords={Call,Case,Const,Dim,Do,Each,Else,End,Erase,Error,Exit,%
Explicit,For,Function,If,Loop,Next,On,Option,Private,Public,%
Randomize,ReDim,Rem,Select,Set,Sub,Then,Wend,While,Abs,Array,Asc,%
Atn,CBool,CByte,CCur,CDate,CDbl,Chr,CInt,CLng,Cos,CreateObject,%
CSng,CStr,Date,DateAdd,DateDiff,DatePart,DateSerial,DateValue,%
Day,Exp,Filter,Fix,FormatCurrency,FormatDateTime,FormatNumber,%
FormatPercent,GetObject,Hex,Hour,InputBox,InStr,InStrRev,Int,%
IsArray,IsDate,IsEmpty,IsNull,IsNumeric,IsObject,Join,LBound,%
LCase,Left,Len,LoadPicture,Log,LTrim,Mid,Minute,Month,MonthName,%
MsgBox,Now,Oct,Replace,RGB,Right,Rnd,Round,RTrim,ScriptEngine,%
ScriptEngineBuildVersion,ScriptEngineMajorVersion,%
ScriptEngineMinorVersion,Second,Sgn,Sin,Space,Split,Sqr,StrComp,%
StrReverse,String,Tan,Time,TimeSerial,TimeValue,Trim,TypeName,%
UBound,UCase,VarType,Weekday,WeekdayName,Year, And,Eqv,Imp,Is,%
Mod,Not,Or,Xor,Add,BuildPath,Clear,Close,Copy,CopyFile,%
CopyFolder,CreateFolder,CreateTextFile,Delete,DeleteFile,%
DeleteFolder,Dictionary,Drive,DriveExists,Drives,Err,Exists,File,%
FileExists,FileSystemObject,Files,Folder,FolderExists,Folders,%
GetAbsolutePathName,GetBaseName,GetDrive,GetDriveName,%
GetExtensionName,GetFile,GetFileName,GetFolder,%
GetParentFolderName,GetSpecialFolder,GetTempName,Items,Keys,Move,%
MoveFile,MoveFolder,OpenAsTextStream,OpenTextFile,Raise,Read,%
ReadAll,ReadLine,Remove,RemoveAll,Skip,SkipLine,TextStream,Write,%
WriteBlankLines,WriteLine,Alias,Archive,CDROM,Compressed,%
Directory,Fixed,ForAppending,ForReading,ForWriting,Hidden,Normal,%
RAMDisk,ReadOnly,Remote,Removable,System,SystemFolder,%
TemporaryFolder,TristateFalse,TristateTrue,TristateUseDefault,%
Unknown,Volume,WindowsFolder,vbAbortRetryIgnore,%
vbApplicationModal,vbArray,vbBinaryCompare,vbBlack,vbBlue,%
vbBoolean,vbByte,vbCr,vbCrLf,vbCritical,vbCurrency,vbCyan,%
vbDataObject,vbDate,vbDecimal,vbDefaultButton1,vbDefaultButton2,%
vbDefaultButton3,vbDefaultButton4,vbDouble,vbEmpty,vbError,%
vbExclamation,vbFirstFourDays,vbFirstFullWeek,vbFirstJan1,%
vbFormFeed,vbFriday,vbGeneralDate,vbGreen,vbInformation,%
vbInteger,vbLf,vbLong,vbLongDate,vbLongTime,vbMagenta,vbMonday,%
vbNewLine,vbNull,vbNullChar,vbNullString,vbOKC,ancel,vbOKOnly,%
vbObject,vbObjectError,vbQuestion,vbRed,vbRetryCancel,vbSaturday,%
vbShortDate,vbShortTime,vbSingle,vbString,vbSunday,vbSystemModal,%
vbTab,vbTextCompare,vbThursday,vbTuesday,vbUseSystem,%
vbUseSystemDayOfWeek,vbVariant,vbVerticalTab,vbWednesday,vbWhite,%
vbYellow,vbYesNo,vbYesNoCancel},%
sensitive=f,%
morecomment=[l]',%
morestring=[d]"%
}[keywords,comments,strings]%
\endinput
%%
%% End of file `lstlang2.sty'.

568
docs/styles/lstlang3.sty Normal file
View File

@ -0,0 +1,568 @@
%%
%% This is file `lstlang3.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% lstdrvrs.dtx (with options: `lang3')
%%
%% (w)(c) 1996/1997/1998/1999/2000 Carsten Heinz and/or any other author
%% listed elsewhere in this file.
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
%% Either version 1.0 or, at your option, any later version.
%%
%% This file is completely free and comes without any warranty.
%%
%% Permission is granted to change this file. You are not allowed to
%% distribute any changed version of this file, neither under the same
%% name nor under a different one.
%%
%% Send comments and ideas on the package, error reports and additional
%% programming languages to <cheinz@gmx.de>.
%%
\lst@definelanguage[68]{Algol}%
{morekeywords={abs,and,arg,begin,bin,bits,bool,by,bytes,case,channel,%
char,co,comment,compl,conj,divab,do,down,elem,elif,else,empty,%
end,entier,eq,esac,exit,false,fi,file,flex,for,format,from,ge,%
goto,gt,heap,if,im,in,int,is,isnt,le,leng,level,loc,long,lt,lwb,%
minusab,mod,modab,mode,ne,nil,not,od,odd,of,op,or,ouse,out,over,%
overab,par,plusab,plusto,pr,pragmat,prio,proc,re,real,ref,repr,%
round,sema,shl,short,shorten,shr,sign,skip,string,struct,then,%
timesab,to,true,union,up,upb,void,while},%
sensitive=f,% ???
morecomment=[s]{\#}{\#},%
keywordcomment={co,comment}%
}[keywords,comments,keywordcomments]%
\lst@definelanguage[60]{Algol}%
{morekeywords={array,begin,Boolean,code,comment,div,do,else,end,%
false,for,goto,if,integer,label,own,power,procedure,real,step,%
string,switch,then,true,until,value,while},%
sensitive=f,% ???
keywordcommentsemicolon={end}{else,end}{comment}%
}[keywords,keywordcomments]%
%%
%% Visual Basic definition (c) 2001 Frédéric Jacquet
%% <fjacquet@gphy.campus.univ-poitiers.fr>
%%
\lstdefinelanguage[Visual]{Basic}
{morekeywords={AddressOf,Abs,And,AppActivate,Array,As,Asc,Atn,Base,%
Beep,Binary,ByRef,ByVal,CVErr,Call,CallByName,Case,ChDir,ChDrive,%
Choose,Chr,Close,Command,Compare,Comparison,Const,Cos,%
CreateObject,CurDir,DDB,Date,DateAdd,DateDiff,DatePart,%
DateSerial,DateValue,Day,Declare,Deftype,DeleteSetting,Dim,Dir,%
Do,DoEvents,EOF,Each,Else,Empty,End,Enum,Environ,Eqv,Erase,Error,%
Event,Exit,Exp,Explicit,FV,False,FileAttr,FileCopy,FileDateTime,%
FileLen,Filter,Fix,For,Format,FormatCurrency,FormatDateRime,%
FormatNumber,FormatPercent,Friend,Function,Get,GetAllSettings,%
GetAttr,GetAutoServerSettings,GetObject,GetSetting,GoSub,GoTo,%
Hex,Hour,IIf,IMEStatus,IPmt,IRR,If,Imp,Implements,InStr,InStrRev,%
Input,InputBox,Int,Is,IsArray,IsDate,IsEmpty,IsError,IsMissing,%
IsNull,IsNumeric,IsObject,Join,Kill,LBound,LCase,LOF,LSet,LTrim,%
Left,Len,Let,Like,Line,Load,LoadPicture,LoadResData,%
LoadResPicture,LoadResString,Loc,Lock,Lock,Log,Loop,MIRR,Math,Me,%
Mid,Minute,MkDir,Mod,Month,MonthName,MsgBox,NPV,NPer,Name,New,%
Next,Not,Nothing,Now,Null,Oct,On,Open,Option,Optional,Or,PPmt,PV,%
Paramarray,Partition,Pmt,Print,Private,Property,Public,Put,%
QBColor,RGB,RSet,RTrim,RaiseEvent,Randomize,Rate,ReDim,Rem,%
Replace,Resume,Return,Right,RmDir,Rnd,Round,SLN,SYD,SavePicture,%
SaveSetting,Second,Seek,Select,SendKeys,Set,SetAttr,Sgn,Shell,%
Sin,Space,Spc,Split,Sqr,Static,Step,Stop,Str,StrComp,StrConv,%
StrReverse,String,Sub,Switch,Tab,Tan,Then,Time,TimeSerial,%
TimeValue,Timer,Trim,True,Type,TypeName,UBound,UCase,Unload,%
Unlock,Val,VarType,Weekday,WeekdayName,Wend,While,Width,With,%
Withevents,Write,Xor,Year},%
sensitive=false,%
morecomment=[l]\',%
morestring=[b]"%
}%
%%
%% Clean definition (c) 1999 José Romildo Malaquias <romildo@iceb.ufop.br>
%%
%% Clean 1.3 : some standard functional language: pure, lazy,
%% polymorphic type system, modules, type classes,
%% garbage collection, functions as first class citizens
%%
\lst@definelanguage{Clean}%
{otherkeywords={:,::,=,:==,=:,=>,->,<-,<-:,\{,\},\{|,|\},\#,\#!,|,\&,[,],!,.,\\\\,;,_},%
keywords={from,definition,implementation,import,module,system,case,code,%
if,in,let,let!,of,where,with,infix,infixl,infixr},%
ndkeywords={True,False,Start,Int,Real,Char,Bool,String,World,File,ProcId},%
sensitive,%
morecomment=[l]//%
morecomment=[n]{/*}{*/},%
morestring=[b]"%
}[keywords,comments,strings]%
\lst@definelanguage{Comal 80}%
{morekeywords={AND,AUTO,CASE,DATA,DEL,DIM,DIV,DO,ELSE,ENDCASE,ENDIF,%
ENDPROC,ENDWHILE,EOD,EXEC,FALSE,FOR,GOTO,IF,INPUT,INT,LIST,LOAD,%
MOD,NEW,NEXT,NOT,OF,OR,PRINT,PROC,RANDOM,RENUM,REPEAT,RND,RUN,%
SAVE,SELECT,STOP,TAB,THEN,TRUE,UNTIL,WHILE,ZONE},%
sensitive=f,% ???
morecomment=[l]//,%
morestring=[d]"%
}[keywords,comments,strings]%
\lst@definelanguage{Elan}%
{morekeywords={ABS,AND,BOOL,CAND,CASE,CAT,COLUMNS,CONCR,CONJ,CONST,%
COR,DECR,DEFINES,DET,DIV,DOWNTO,ELIF,ELSE,END,ENDIF,ENDOP,%
ENDPACKET,ENDPROC,ENDREP,ENDSELECT,FALSE,FI,FILE,FOR,FROM,IF,%
INCR,INT,INV,LEAVE,LENGTH,LET,MOD,NOT,OF,OP,OR,OTHERWISE,PACKET,%
PROC,REAL,REP,REPEAT,ROW,ROWS,SELECT,SIGN,STRUCT,SUB,TEXT,THEN,%
TRANSP,TRUE,TYPE,UNTIL,UPTO,VAR,WHILE,WITH,XOR,%
maxint,sign,abs,min,max,random,initializerandom,subtext,code,%
replace,text,laenge,pos,compress,change,maxreal,smallreal,floor,%
pi,e,ln,log2,log10,sqrt,exp,tan,tand,sin,sind,cos,cosd,arctan,%
arctand,int,real,lastconversionok,put,putline,line,page,get,%
getline,input,output,sequentialfile,maxlinelaenge,reset,eof,%
close,complexzero,complexone,complexi,complex,realpart,imagpart,%
dphi,phi,vector,norm,replace,matrix,idn,row,column,sub,%
replacerow,replacecolumn,replaceelement,transp,errorsstop,stop},%
sensitive,%
morestring=[d]"%
}[keywords,strings]%
\lst@definelanguage{Logo}%
{morekeywords={and,atan,arctan,both,break,bf,bl,butfirst,butlast,%
cbreak, close,co,continue,cos,count,clearscreen,cs,debquit,%
describe,diff,difference,ed,edit,either,emptyp,equalp,er,erase,%
errpause,errquit,fifp,filefprint,fifty,fileftype,fip,fileprint,%
fird,fileread,fity,filetype,fiwd,fileword,f,first,or,fp,fprint,%
fput,fty,ftype,full,fullscreen,go,bye,goodbye,gprop,greaterp,%
help,if,iff,iffalse,ift,iftrue,nth,item,keyp,llast,lessp,list,%
local,lput,make,max,maximum,memberp,memtrace,min,minimum,namep,%
not,numberp,oflush,openr,openread,openw,openwrite,op,output,%
pause,plist,pots,pow,pprop,pps,pr,print,product,quotient,random,%
rc,readchar,rl,readlist,remprop,repcount,repeat,request,rnd,run,%
se,sentence,sentencep,setc,setcolor,setipause,setqpause,po,show,%
sin,split,splitscreen,sqrt,stop,sum,test,text,textscreen,thing,%
to,tone,top,toplevel,type,untrace,wait,word,wordp,yaccdebug,is,%
mod,remainder,trace,zerop,back,bk,bto,btouch,fd,forward,fto,%
ftouch,getpen,heading,hit,hitoot,ht,hideturtle,loff,lampoff,lon,%
lampon,lt,left,lot,lotoot,lto,ltouch,penc,pencolor,pd,pendown,pe,%
penerase,penmode,pu,penup,px,penreverse,rt,right,rto,rtouch,%
scrunch,seth,setheading,setscrun,setscrunch,setxy,shownp,st,%
showturtle,towardsxy,clean,wipeclean,xcor,ycor,tur,turtle,%
display,dpy},%
sensitive=f% ???
}[keywords]%
\lst@definelanguage{Modula-2}%
{morekeywords={AND,ARRAY,BEGIN,BY,CASE,CONST,DIV,DO,ELSE,ELSIF,END,%
EXIT,EXPORT,FOR,FROM,IF,IMPLEMENTATION,IMPORT,IN,MOD,MODULE,NOT,%
OF,OR,POINTER,PROCEDURE,QUALIFIED,RECORD,REPEAT,RETURN,SET,THEN,%
TYPE,UNTIL,VAR,WHILE,WITH,ABS,BITSET,BOOLEAN,CAP,CARDINAL,CHAR,%
CHR,DEC,EXCL,FALSE,FLOAT,HALT,HIGH,INC,INCL,INTEGER,LONGCARD,%
LONGINT,LONGREAL,MAX,MIN,NIL,ODD,ORD,PROC,REAL,SIZE,TRUE,TRUNC,%
VAL,DEFINITION,LOOP},% added keywords due to Peter Bartke 99/07/22
sensitive,%
morecomment=[n]{(*}{*)},%
morestring=[d]',%
morestring=[d]"%
}[keywords,comments,strings]%
\lst@definelanguage{Oberon-2}%
{morekeywords={ARRAY,BEGIN,BOOLEAN,BY,CASE,CHAR,CONST,DIV,DO,ELSE,%
ELSIF,END,EXIT,FALSE,FOR,IF,IMPORT,IN,INTEGER,IS,LONGINT,%
LONGREAL,LOOP,MOD,MODULE,NIL,OF,OR,POINTER,PROCEDURE,REAL,RECORD,%
REPEAT,RETURN,SET,SHORTINT,THEN,TO,TRUE,TYPE,UNTIL,VAR,WHILE,%
WITH,ABS,ASH,CAP,CHR,COPY,DEC,ENTIER,EXCL,HALT,INC,INCL,LEN,LONG,%
MAX,MIN,NEW,ODD,ORD,SHORT,SIZE},%
sensitive,%
morecomment=[n]{(*}{*)},%
morestring=[d]',%
morestring=[d]"%
}[keywords,comments,strings]%
%%
%% OCL definition (c) 2000 Achim D. Brucker <brucker@informatik.uni-freiburg.de>
%% You are allowed to use, modify and distribute this code either under
%% the terms of the LPPL (version 1.0 or later) or the GPL (version 2.0 or later).
%%
%% First we define are very decorative style. In the OMG standard only the boolean (infix (?))
%% operations are highlighted, but I think all OCL-defined operations should be
%% highlighted, because they are \emph{guaranteed} to be side-effect-free (in OCL only side effect
%% free evaluations or path expressions are allowed).
%%
\lst@definelanguage[decorative]{OCL}[OMG]{OCL}
{otherkeywords={@pre},%
morendkeywords={name,attributes,associatoinEnds,operations,%
supertypes,allSupertypes,allInstances,oclIsKindOf,oclIsTypeOf,%
oclAsType,oclInState,oclIsNew,evaluationType,abs,floor,round,max,%
min,div,mod,size,concat,toUpper,toLower,substring,includes,%
excludes,count,includesAll,exludesAll,isEmpty,notEmpty,sum,%
exists,forAll,isUnique,sortedBy,iterate,union,intersection,%
including,excluding,symmetricDifference,select,reject,collect,%
asSequence,asBag,asSequence,asSet,append,prepend,subSequence,at,%
first,last,true,false,isQuery}%
}%
%% Remark: "isQuery" is not real OCL, but a important Attribute of the
%% underlying UML model.
%%
%% The dialect called \texttt{OMG} is a very spare version. If you use
%% this variant with bold style for first and second order keywords you
%% get the look and feel of the OMG standard.
\lst@definelanguage[OMG]{OCL}%
{morekeywords={context,pre,inv,post},
ndkeywords={or,xor,and,not,implies,if,then,else,endif},%
morerdkeywords={Boolean,Integer,Real,String,Set,Sequence,Bag,%
OclType,OclAny,OclExpression,Enumeration,Collection,},%
sensitive=t,%
morecomment=[l]--,%
morestring=[d]'%
}[keywords,rdkeywords,comments,strings]%
\lst@definelanguage{PL/I}%
{morekeywords={ABS,ATAN,AUTOMATIC,AUTO,ATAND,BEGIN,BINARY,BIN,BIT,%
BUILTIN,BY,CALL,CHARACTER,CHAR,CHECK,COLUMN,COL,COMPLEX,CPLX,%
COPY,COS,COSD,COSH,DATA,DATE,DECIMAL,DEC,DECLARE,DCL,DO,EDIT,%
ELSE,END,ENDFILE,ENDPAGE,ENTRY,EXP,EXTERNAL,EXT,FINISH,FIXED,%
FIXEDOVERFLOW,FOFL,FLOAT,FORMAT,GET,GO,GOTO,IF,IMAG,INDEX,%
INITIAL,INIT,INTERNAL,INT,LABEL,LENGTH,LIKE,LINE,LIST,LOG,LOG2,%
LOG10,MAIN,MAX,MIN,MOD,NOCHECK,NOFIXEDOVERFLOW,NOFOFL,NOOVERFLOW,%
NOOFL,NOSIZE,NOUNDERFLOW,NOUFL,NOZERODIVIDE,NOZDIV,ON,OPTIONS,%
OVERFLOW,OFL,PAGE,PICTURE,PROCEDURE,PROC,PUT,READ,REPEAT,RETURN,%
RETURNS,ROUND,SIN,SIND,SINH,SIZE,SKIP,SQRT,STATIC,STOP,STRING,%
SUBSTR,SUM,SYSIN,SYSPRINT,TAN,TAND,TANH,THEN,TO,UNDERFLOW,UFL,%
VARYING,WHILE,WRITE,ZERODIVIDE,ZDIV},%
sensitive=f,%
morecomment=[s]{/*}{*/},%
morestring=[d]'%
}[keywords,comments,strings]%
\lst@definelanguage[IBM]{Simula}[DEC]{Simula}{}%
\lst@definelanguage[DEC]{Simula}[67]{Simula}%
{morekeywords={and,eq,eqv,ge,gt,hidden,imp,le,long,lt,ne,not,%
options,or,protected,short}%
}%
\lst@definelanguage[CII]{Simula}[67]{Simula}%
{morekeywords={and,equiv,exit,impl,not,or,stop}}%
\lst@definelanguage[67]{Simula}%
{morekeywords={activate,after,array,at,before,begin,boolean,%
character,class,comment,delay,detach,do,else,end,external,false,%
for,go,goto,if,in,inner,inspect,integer,is,label,name,new,none,%
notext,otherwise,prior,procedure,qua,reactivate,real,ref,resume,%
simset,simulation,step,switch,text,then,this,to,true,until,value,%
virtual,when,while},%
sensitive=f,%
keywordcommentsemicolon={end}{else,end,otherwise,when}{comment},%
morestring=[d]",%
morestring=[d]'%
}[keywords,keywordcomments,strings]%
\lst@definelanguage{S}[]{R}{}
\lst@definelanguage[PLUS]{S}[]{R}{}
\lst@definelanguage{R}%
{keywords={abbreviate,abline,abs,acos,acosh,action,add1,add,%
aggregate,alias,Alias,alist,all,anova,any,aov,aperm,append,apply,%
approx,approxfun,apropos,Arg,args,array,arrows,as,asin,asinh,%
atan,atan2,atanh,attach,attr,attributes,autoload,autoloader,ave,%
axis,backsolve,barplot,basename,besselI,besselJ,besselK,besselY,%
beta,binomial,body,box,boxplot,break,browser,bug,builtins,bxp,by,%
c,C,call,Call,case,cat,category,cbind,ceiling,character,char,%
charmatch,check,chol,chol2inv,choose,chull,class,close,cm,codes,%
coef,coefficients,co,col,colnames,colors,colours,commandArgs,%
comment,complete,complex,conflicts,Conj,contents,contour,%
contrasts,contr,control,helmert,contrib,convolve,cooks,coords,%
distance,coplot,cor,cos,cosh,count,fields,cov,covratio,wt,CRAN,%
create,crossprod,cummax,cummin,cumprod,cumsum,curve,cut,cycle,D,%
data,dataentry,date,dbeta,dbinom,dcauchy,dchisq,de,debug,%
debugger,Defunct,default,delay,delete,deltat,demo,de,density,%
deparse,dependencies,Deprecated,deriv,description,detach,%
dev2bitmap,dev,cur,deviance,off,prev,,dexp,df,dfbetas,dffits,%
dgamma,dgeom,dget,dhyper,diag,diff,digamma,dim,dimnames,dir,%
dirname,dlnorm,dlogis,dnbinom,dnchisq,dnorm,do,dotplot,double,%
download,dpois,dput,drop,drop1,dsignrank,dt,dummy,dump,dunif,%
duplicated,dweibull,dwilcox,dyn,edit,eff,effects,eigen,else,%
emacs,end,environment,env,erase,eval,equal,evalq,example,exists,%
exit,exp,expand,expression,External,extract,extractAIC,factor,%
fail,family,fft,file,filled,find,fitted,fivenum,fix,floor,for,%
For,formals,format,formatC,formula,Fortran,forwardsolve,frame,%
frequency,ftable,ftable2table,function,gamma,Gamma,gammaCody,%
gaussian,gc,gcinfo,gctorture,get,getenv,geterrmessage,getOption,%
getwd,gl,glm,globalenv,gnome,GNOME,graphics,gray,grep,grey,grid,%
gsub,hasTsp,hat,heat,help,hist,home,hsv,httpclient,I,identify,if,%
ifelse,Im,image,\%in\%,index,influence,measures,inherits,install,%
installed,integer,interaction,interactive,Internal,intersect,%
inverse,invisible,IQR,is,jitter,kappa,kronecker,labels,lapply,%
layout,lbeta,lchoose,lcm,legend,length,levels,lgamma,library,%
licence,license,lines,list,lm,load,local,locator,log,log10,log1p,%
log2,logical,loglin,lower,lowess,ls,lsfit,lsf,ls,machine,Machine,%
mad,mahalanobis,make,link,margin,match,Math,matlines,mat,matplot,%
matpoints,matrix,max,mean,median,memory,menu,merge,methods,min,%
missing,Mod,mode,model,response,mosaicplot,mtext,mvfft,na,nan,%
names,omit,nargs,nchar,ncol,NCOL,new,next,NextMethod,nextn,%
nlevels,nlm,noquote,NotYetImplemented,NotYetUsed,nrow,NROW,null,%
numeric,\%o\%,objects,offset,old,on,Ops,optim,optimise,optimize,%
options,or,order,ordered,outer,package,packages,page,pairlist,%
pairs,palette,panel,par,parent,parse,paste,path,pbeta,pbinom,%
pcauchy,pchisq,pentagamma,persp,pexp,pf,pgamma,pgeom,phyper,pico,%
pictex,piechart,Platform,plnorm,plogis,plot,pmatch,pmax,pmin,%
pnbinom,pnchisq,pnorm,points,poisson,poly,polygon,polyroot,pos,%
postscript,power,ppoints,ppois,predict,preplot,pretty,Primitive,%
print,prmatrix,proc,prod,profile,proj,prompt,prop,provide,%
psignrank,ps,pt,ptukey,punif,pweibull,pwilcox,q,qbeta,qbinom,%
qcauchy,qchisq,qexp,qf,qgamma,qgeom,qhyper,qlnorm,qlogis,qnbinom,%
qnchisq,qnorm,qpois,qqline,qqnorm,qqplot,qr,Q,qty,qy,qsignrank,%
qt,qtukey,quantile,quasi,quit,qunif,quote,qweibull,qwilcox,%
rainbow,range,rank,rbeta,rbind,rbinom,rcauchy,rchisq,Re,read,csv,%
csv2,fwf,readline,socket,real,Recall,rect,reformulate,regexpr,%
relevel,remove,rep,repeat,replace,replications,report,require,%
resid,residuals,restart,return,rev,rexp,rf,rgamma,rgb,rgeom,R,%
rhyper,rle,rlnorm,rlogis,rm,rnbinom,RNGkind,rnorm,round,row,%
rownames,rowsum,rpois,rsignrank,rstandard,rstudent,rt,rug,runif,%
rweibull,rwilcox,sample,sapply,save,scale,scan,scan,screen,sd,se,%
search,searchpaths,segments,seq,sequence,setdiff,setequal,set,%
setwd,show,sign,signif,sin,single,sinh,sink,solve,sort,source,%
spline,splinefun,split,sqrt,stars,start,stat,stem,step,stop,%
storage,strstrheight,stripplot,strsplit,structure,strwidth,sub,%
subset,substitute,substr,substring,sum,summary,sunflowerplot,svd,%
sweep,switch,symbol,symbols,symnum,sys,status,system,t,table,%
tabulate,tan,tanh,tapply,tempfile,terms,terrain,tetragamma,text,%
time,title,topo,trace,traceback,transform,tri,trigamma,trunc,try,%
ts,tsp,typeof,unclass,undebug,undoc,union,unique,uniroot,unix,%
unlink,unlist,unname,untrace,update,upper,url,UseMethod,var,%
variable,vector,Version,vi,warning,warnings,weighted,weights,%
which,while,window,write,\%x\%,x11,X11,xedit,xemacs,xinch,xor,%
xpdrows,xy,xyinch,yinch,zapsmall,zip},%
otherkeywords={!,!=,~,$,*,\&,\%/\%,\%*\%,\%\%,<-,<<-,_,/},%
alsoother={._$},%
sensitive,%
morecomment=[l]\#,%
morestring=[d]"%
}%
\lst@definelanguage{SAS}%
{prockeywords={proc},%
morekeywords={DATA,AND,OR,NOT,EQ,GT,LT,GE,LE,NE,INFILE,INPUT,DO,BY,%
TO,SIN,COS,OUTPUT,END,PLOT,RUN,LIBNAME,VAR,TITLE,FIRSTOBS,OBS,%
DELIMITER,DLM,EOF,ABS,DIM,HBOUND,LBOUND,MAX,MIN,MOD,SIGN,SQRT,%
CEIL,FLOOR,FUZZ,INT,ROUND,TRUNC,DIGAMMA,ERF,ERFC,EXP,GAMMA,%
LGAMMA,LOG,LOG2,LOG10,ARCOS,ARSIN,ATAN,COSH,SINH,TANH,TAN,%
POISSON,PROBBETA,PROBBNML,PROBCHI,PROBF,PROBGAM,PROBHYPR,%
PROBNEGB,PROBNORM,PROBT,BETAINV,CINV,FINV,GAMINV,PROBIT,TINV,CSS,%
CV,KURTOSIS,MEAN,NMISS,RANGE,SKEWNESS,STD,STDERR,SUM,USS,NORMAL,%
RANBIN,RANCAU,RANEXP,RANGAM,RANNOR,RANPOI,RANTBL,RANTRI,RANUNI,%
UNIFORM,IF,THEN,ELSE,WHILE,UNTIL,DROP,KEEP,LABEL,DEFAULT,ARRAY,%
MERGE,CARDS,CARDS4,PUT,SET,UPDATE,ABORT,DELETE,DISPLAY,LIST,%
LOSTCARD,MISSING,STOP,WHERE,ARRAY,DROP,KEEP,WINDOW,LENGTH,RENAME,%
RETAIN,MEANS,UNIVARIATE,SUMMARY,TABULATE,CORR,FREQ,FOOTNOTE,NOTE,%
SHOW},%
otherkeywords={!,!=,~,$,*,\&,_,/,<,>=,=<,>},%
morestring=[d]'%
}%
\lst@definelanguage[AlLaTeX]{TeX}[LaTeX]{TeX}%
{moretexcs={AtBeginDocument,AtBeginDvi,AtEndDocument,AtEndOfClass,%
AtEndOfPackage,ClassError,ClassInfo,ClassWarning,%
ClassWarningNoLine,CurrentOption,DeclareErrorFont,%
DeclareFixedFont,DeclareFontEncoding,DeclareFontEncodingDefaults,%
DeclareFontFamily,DeclareFontShape,DeclareFontSubstitution,%
DeclareMathAccent,DeclareMathAlphabet,DeclareMathAlphabet,%
DeclareMathDelimiter,DeclareMathRadical,DeclareMathSizes,%
DeclareMathSymbol,DeclareMathVersion,DeclareOldFontCommand,%
DeclareOption,DeclarePreloadSizes,DeclareRobustCommand,%
DeclareSizeFunction,DeclareSymbolFont,DeclareSymbolFontAlphabet,%
DeclareTextAccent,DeclareTextAccentDefault,DeclareTextCommand,%
DeclareTextCommandDefault,DeclareTextComposite,%
DeclareTextCompositeCommand,DeclareTextFontCommand,%
DeclareTextSymbol,DeclareTextSymbolDefault,ExecuteOptions,%
GenericError,GenericInfo,GenericWarning,IfFileExists,%
InputIfFileExists,LoadClass,LoadClassWithOptions,MessageBreak,%
OptionNotUsed,PackageError,PackageInfo,PackageWarning,%
PackageWarningNoLine,PassOptionsToClass,PassOptionsToPackage,%
ProcessOptionsProvidesClass,ProvidesFile,ProvidesFile,%
ProvidesPackage,ProvideTextCommand,RequirePackage,%
RequirePackageWithOptions,SetMathAlphabet,SetSymbolFont,%
TextSymbolUnavailable,UseTextAccent,UseTextSymbol},%
morekeywords={array,center,displaymath,document,enumerate,eqnarray,%
equation,flushleft,flushright,itemize,list,lrbox,math,minipage,%
picture,sloppypar,tabbing,tabular,trivlist,verbatim}%
}%
\lst@definelanguage[LaTeX]{TeX}[common]{TeX}%
{moretexcs={a,AA,aa,addcontentsline,addpenalty,addtocontents,%
addtocounter,addtolength,addtoversion,addvspace,alph,Alph,and,%
arabic,array,arraycolsep,arrayrulewidth,arraystretch,author,%
baselinestretch,begin,bezier,bfseries,bibcite,bibdata,bibitem,%
bibliography,bibliographystyle,bibstyle,bigskip,boldmath,%
botfigrule,bottomfraction,Box,caption,center,CheckCommand,circle,%
citation,cite,cleardoublepage,clearpage,cline,columnsep,%
columnseprule,columnwidth,contentsline,dashbox,date,dblfigrule,%
dblfloatpagefraction,dblfloatsep,dbltextfloatsep,dbltopfraction,%
defaultscriptratio,defaultscriptscriptratio,depth,Diamond,%
displaymath,document,documentclass,documentstyle,doublerulesep,%
em,emph,endarray,endcenter,enddisplaymath,enddocument,%
endenumerate,endeqnarray,endequation,endflushleft,endflushright,%
enditemize,endlist,endlrbox,endmath,endminipage,endpicture,%
endsloppypar,endtabbing,endtabular,endtrivlist,endverbatim,%
enlargethispage,ensuremath,enumerate,eqnarray,equation,%
evensidemargin,extracolsep,fbox,fboxrule,fboxsep,filecontents,%
fill,floatpagefraction,floatsep,flushbottom,flushleft,flushright,%
fnsymbol,fontencoding,fontfamily,fontseries,fontshape,fontsize,%
fontsubfuzz,footnotemark,footnotesep,footnotetext,footskip,frac,%
frame,framebox,fussy,glossary,headheight,headsep,height,hline,%
hspace,I,include,includeonly,index,inputlineno,intextsep,%
itemindent,itemize,itemsep,iterate,itshape,Join,kill,label,%
labelsep,labelwidth,LaTeX,LaTeXe,leadsto,lefteqn,leftmargin,%
leftmargini,leftmarginii,leftmarginiii,leftmarginiv,leftmarginv,%
leftmarginvi,leftmark,lhd,lim,linebreak,linespread,linethickness,%
linewidth,list,listfiles,listfiles,listparindent,lrbox,%
makeatletter,makeatother,makebox,makeglossary,makeindex,%
makelabel,MakeLowercase,MakeUppercase,marginpar,marginparpush,%
marginparsep,marginparwidth,markboth,markright,math,mathbf,%
mathellipsis,mathgroup,mathit,mathrm,mathsf,mathsterling,mathtt,%
mathunderscore,mathversion,mbox,mdseries,mho,minipage,%
multicolumn,multiput,NeedsTeXFormat,newcommand,newcounter,%
newenvironment,newfont,newhelp,newlabel,newlength,newline,%
newmathalphabet,newpage,newsavebox,newtheorem,nobreakspace,%
nobreakspace,nocite,nocorr,nocorrlist,nofiles,nolinebreak,%
nonumber,nopagebreak,normalcolor,normalfont,normalmarginpar,%
numberline,obeycr,oddsidemargin,oldstylenums,onecolumn,oval,%
pagebreak,pagenumbering,pageref,pagestyle,paperheight,paperwidth,%
paragraphmark,parbox,parsep,partopsep,picture,poptabs,pounds,%
protect,pushtabs,put,qbezier,qbeziermax,r,raggedleft,raisebox,%
ref,refstepcounter,renewcommand,renewenvironment,restorecr,%
reversemarginpar,rhd,rightmargin,rightmark,rmfamily,roman,Roman,%
rootbox,rule,samepage,sbox,scshape,secdef,section,sectionmark,%
selectfont,setcounter,settodepth,settoheight,settowidth,sffamily,%
shortstack,showoutput,showoverfull,sloppy,sloppypar,slshape,%
smallskip,sqsubset,sqsupset,SS,stackrel,stepcounter,stop,stretch,%
subparagraphmark,subsectionmark,subsubsectionmark,sum,%
suppressfloats,symbol,tabbing,tabbingsep,tabcolsep,tabular,%
tabularnewline,textasciicircum,textasciitilde,textbackslash,%
textbar,textbf,textbraceleft,textbraceright,textbullet,%
textcircled,textcompwordmark,textdagger,textdaggerdbl,textdollar,%
textellipsis,textemdash,textendash,textexclamdown,textfloatsep,%
textfraction,textgreater,textheight,textit,textless,textmd,%
textnormal,textparagraph,textperiodcentered,textquestiondown,%
textquotedblleft,textquotedblright,textquoteleft,textquoteright,%
textregistered,textrm,textsc,textsection,textsf,textsl,%
textsterling,textsuperscript,texttrademark,texttt,textunderscore,%
textup,textvisiblespace,textwidth,thanks,thefootnote,thempfn,%
thempfn,thempfootnote,thepage,thepage,thicklines,thinlines,%
thispagestyle,title,today,topfigrule,topfraction,topmargin,%
topsep,totalheight,tracingfonts,trivlist,ttfamily,twocolumn,%
typein,typeout,unboldmath,unitlength,unlhd,unrhd,upshape,usebox,%
usecounter,usefont,usepackage,value,vector,verb,verbatim,vline,%
vspace,width,%
normalsize,small,footnotesize,scriptsize,tiny,large,Large,LARGE,%
huge,Huge}%
}%
\lst@definelanguage[plain]{TeX}[common]{TeX}%
{moretexcs={advancepageno,beginsection,bf,bffam,bye,cal,cleartabs,%
columns,dosupereject,endinsert,eqalign,eqalignno,fiverm,fivebf,%
fivei,fivesy,folio,footline,hang,headline,it,itemitem,itfam,%
leqalignno,magnification,makefootline,makeheadline,midinsert,mit,%
mscount,nopagenumbers,normalbottom,of,oldstyle,pagebody,%
pagecontents,pageinsert,pageno,plainoutput,preloaded,proclaim,rm,%
settabs,sevenbf,seveni,sevensy,sevenrm,sl,slfam,supereject,%
tabalign,tabs,tabsdone,tabsyet,tenbf,tenex,teni,tenit,tenrm,%
tensl,tensy,tentt,textindent,topglue,topins,topinsert,tt,ttfam,%
ttraggedright,vfootnote}%
}%
\lst@definelanguage[common]{TeX}[primitive]{TeX}
{moretexcs={active,acute,ae,AE,aleph,allocationnumber,allowbreak,%
alpha,amalg,angle,approx,arccos,arcsin,arctan,arg,arrowvert,%
Arrowvert,ast,asymp,b,backslash,bar,beta,bgroup,big,Big,bigbreak,%
bigcap,bigcirc,bigcup,bigg,Bigg,biggl,Biggl,biggm,Biggm,biggr,%
Biggr,bigl,Bigl,bigm,Bigm,bigodot,bigoplus,bigotimes,bigr,Bigr,%
bigskip,bigskipamount,bigsqcup,bigtriangledown,bigtriangleup,%
biguplus,bigvee,bigwedge,bmod,bordermatrix,bot,bowtie,brace,%
braceld,bracelu,bracerd,braceru,bracevert,brack,break,breve,%
buildrel,bullet,c,cap,cases,cdot,cdotp,cdots,centering,%
centerline,check,chi,choose,circ,clubsuit,colon,cong,coprod,%
copyright,cos,cosh,cot,coth,csc,cup,d,dag,dagger,dashv,ddag,%
ddagger,ddot,ddots,deg,delta,Delta,det,diamond,diamondsuit,dim,%
displaylines,div,do,dospecials,dot,doteq,dotfill,dots,downarrow,%
Downarrow,downbracefill,egroup,eject,ell,empty,emptyset,endgraf,%
endline,enskip,enspace,epsilon,equiv,eta,exists,exp,filbreak,%
flat,fmtname,fmtversion,footins,footnote,footnoterule,forall,%
frenchspacing,frown,gamma,Gamma,gcd,ge,geq,gets,gg,goodbreak,%
grave,H,hat,hbar,heartsuit,hglue,hideskip,hidewidth,hom,%
hookleftarrow,hookrightarrow,hphantom,hrulefill,i,ialign,iff,Im,%
imath,in,inf,infty,int,interdisplaylinepenalty,%
interfootnotelinepenalty,intop,iota,item,j,jmath,joinrel,jot,%
kappa,ker,l,L,lambda,Lambda,land,langle,lbrace,lbrack,lceil,%
ldotp,ldots,le,leavevmode,leftarrow,Leftarrow,leftarrowfill,%
leftharpoondown,leftharpoonup,leftline,leftrightarrow,%
Leftrightarrow,leq,lfloor,lg,lgroup,lhook,lim,liminf,limsup,line,%
ll,llap,lmoustache,ln,lnot,log,longleftarrow,Longleftarrow,%
longleftrightarrow,Longleftrightarrow,longmapsto,longrightarrow,%
Longrightarrow,loop,lor,lq,magstep,magstep,magstephalf,mapsto,%
mapstochar,mathhexbox,mathpalette,mathstrut,matrix,max,maxdimen,%
medbreak,medskip,medskipamount,mid,min,models,mp,mu,multispan,%
nabla,narrower,natural,ne,nearrow,neg,negthinspace,neq,newbox,%
newcount,newdimen,newfam,newif,newinsert,newlanguage,newmuskip,%
newread,newskip,newtoks,newwrite,next,ni,nobreak,nointerlineskip,%
nonfrenchspacing,normalbaselines,normalbaselineskip,%
normallineskip,normallineskiplimit,not,notin,nu,null,nwarrow,o,O,%
oalign,obeylines,obeyspaces,odot,oe,OE,offinterlineskip,oint,%
ointop,omega,Omega,ominus,ooalign,openup,oplus,oslash,otimes,%
overbrace,overleftarrow,overrightarrow,owns,P,parallel,partial,%
perp,phantom,phi,Phi,pi,Pi,pm,pmatrix,pmod,Pr,prec,preceq,prime,%
prod,propto,psi,Psi,qquad,quad,raggedbottom,raggedright,rangle,%
rbrace,rbrack,rceil,Re,relbar,Relbar,removelastskip,repeat,%
rfloor,rgroup,rho,rhook,rightarrow,Rightarrow,rightarrowfill,%
rightharpoondown,rightharpoonup,rightleftharpoons,rightline,rlap,%
rmoustache,root,rq,S,sb,searrow,sec,setminus,sharp,showhyphens,%
sigma,Sigma,sim,simeq,sin,sinh,skew,slash,smallbreak,smallint,%
smallskip,smallskipamount,smash,smile,sp,space,spadesuit,sqcap,%
sqcup,sqrt,sqsubseteq,sqsupseteq,ss,star,strut,strutbox,subset,%
subseteq,succ,succeq,sum,sup,supset,supseteq,surd,swarrow,t,tan,%
tanh,tau,TeX,theta,Theta,thinspace,tilde,times,to,top,tracingall,%
triangle,triangleleft,triangleright,u,underbar,underbrace,%
uparrow,Uparrow,upbracefill,updownarrow,Updownarrow,uplus,%
upsilon,Upsilon,v,varepsilon,varphi,varpi,varrho,varsigma,%
vartheta,vdash,vdots,vec,vee,vert,Vert,vglue,vphantom,wedge,%
widehat,widetilde,wlog,wp,wr,xi,Xi,zeta}%
}%
\lst@definelanguage[primitive]{TeX}%
{moretexcs={above,abovedisplayshortskip,abovedisplayskip,aftergroup,%
abovewithdelims,accent,adjdemerits,advance,afterassignment,atop,%
atopwithdelims,badness,baselineskip,batchmode,begingroup,%
belowdisplayshortskip,belowdisplayskip,binoppenalty,botmark,box,%
boxmaxdepth,brokenpenalty,catcode,char,chardef,cleaders,closein,%
closeout,clubpenalty,copy,count,countdef,cr,crcr,csname,day,%
deadcycles,def,defaulthyphenchar,defaultskewchar,delcode,%
delimiter,delimiterfactor,delimitershortfall,dimen,dimendef,%
discretionary,displayindent,displaylimits,displaystyle,%
displaywidowpenalty,displaywidth,divide,doublehyphendemerits,dp,%
edef,else,emergencystretch,end,endcsname,endgroup,endinput,%
endlinechar,eqno,errhelp,errmessage,errorcontextlines,%
errorstopmode,escapechar,everycr,everydisplay,everyhbox,everyjob,%
everymath,everypar,everyvbox,exhyphenpenalty,expandafter,fam,fi,%
finalhypendemerits,firstmark,floatingpenalty,font,fontdimen,%
fontname,futurelet,gdef,global,globaldefs,halign,hangafter,%
hangindent,hbadness,hbox,hfil,hfill,hfilneg,hfuzz,hoffset,%
holdinginserts,hrule,hsize,hskip,hss,ht,hyphenation,hyphenchar,%
hyphenpenalty,if,ifcase,ifcat,ifdim,ifeof,iffalse,ifhbox,ifhmode,%
ifinner,ifmmode,ifnum,ifodd,iftrue,ifvbox,ifvmode,ifvoid,ifx,%
ignorespaces,immediate,indent,input,insert,insertpenalties,%
interlinepenalty,jobname,kern,language,lastbox,lastkern,%
lastpenalty,lastskip,lccode,leaders,left,lefthyphenmin,leftskip,%
leqno,let,limits,linepenalty,lineskip,lineskiplimits,long,%
looseness,lower,lowercase,mag,mark,mathaccent,mathbin,mathchar,%
mathchardef,mathchoice,mathclose,mathcode,mathinner,mathop,%
mathopen,mathord,mathpunct,mathrel,mathsurround,maxdeadcycles,%
maxdepth,meaning,medmuskip,message,mkern,month,moveleft,%
moveright,mskip,multiply,muskip,muskipdef,newlinechar,noalign,%
noboundary,noexpand,noindent,nolimits,nonscript,nonstopmode,%
nulldelimiterspace,nullfont,number,omit,openin,openout,or,outer,%
output,outputpenalty,over,overfullrule,overline,overwithdelims,%
pagedepth,pagefilllstretch,pagefillstretch,pagefilstretch,%
pagegoal,pageshrink,pagestretch,pagetotal,par,parfillskip,%
parindent,parshape,parskip,patterns,pausing,penalty,%
postdisplaypenalty,predisplaypenalty,predisplaysize,pretolerance,%
prevdepth,prevgraf,radical,raise,read,relax,relpenalty,right,%
righthyphenmin,rightskip,romannumeral,scriptfont,%
scriptscriptfont,scriptscriptstyle,scriptspace,scriptstyle,%
scrollmode,setbox,setlanguage,sfcode,shipout,show,showbox,%
showboxbreadth,showboxdepth,showlists,showthe,skewchar,skip,%
skipdef,spacefactor,spaceskip,span,special,splitbotmark,%
splitfirstmark,splitmaxdepth,splittopskip,string,tabskip,%
textfont,textstyle,the,thickmuskip,thinmuskip,time,toks,toksdef,%
tolerance,topmark,topskip,tracingcommands,tracinglostchars,%
tracingmacros,tracingonline,tracingoutput,tracingpages,%
tracingparagraphs,tracingrestores,tracingstats,uccode,uchyph,%
underline,unhbox,unhcopy,unkern,unpenalty,unskip,unvbox,unvcopy,%
uppercase,vadjust,valign,vbadness,vbox,vcenter,vfil,vfill,%
vfilneg,vfuzz,voffset,vrule,vsize,vskip,vsplit,vss,vtop,wd,%
widowpenalty,write,xdef,xleaders,xspaceskip,year},%
sensitive,%
alsoother={0123456789$_},%
morecomment=[l]\%%
}[keywords,tex,comments]%
\endinput
%%
%% End of file `lstlang3.sty'.

1942
docs/styles/lstmisc.sty Normal file

File diff suppressed because it is too large Load Diff

379
docs/styles/lstpatch.sty Normal file
View File

@ -0,0 +1,379 @@
%%
%% This is file `lstpatch.sty', generated manually :-)
%%
%% Please read the software license in listings.dtx or listings.dvi.
%%
%% (w)(c) 2000,2001 Carsten Heinz
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
%% Either version 1.0 or, at your option, any later version.
%%
%% Permission is granted to change this file. You are not allowed to
%% distribute any changed version of this file, neither under the same
%% name nor under a different one.
%%
%% Send comments and ideas on the package, error reports and additional
%% programming languages to <cheinz@gmx.de>.
%%
%%
%% This patch file does *not* include any experimental material I sent to
%% various people. These people will have to copy and paste the definitions.
%%
%% This patch file will remove the following bugs from the listings package.
%% Each item contains the bug finder with date of report and first bug fix
%% version, a short description of the problem, and the reason for the bug
%% in parenthesis.
%%
%% 1) Andreas Deininger, 2000/08/25, 0.21a
%%
%% `breaklines,first>1' leads to ``undefined control sequence'' error
%% (\lst@breakshape undefined in this case)
%%
%% 2) Vespe Savikko, 2000/09/27, 0.21a (2000/11/02)
%%
%% stringstyle used also on previous other characters
%% (missing \lst@PrintToken in \lst@BeginString)
%%
%% 3) Richard Hoefter, 2000/11/03, 0.21b (2000/11/04)
%%
%% no keyword detection in case of language=HTML,language=Java
%% (missing deactivation of `keywordsinside' in hook `SetLanguage')
%%
%% 4) Vespe Savikko, 2000/11/06, 0.21c (2000/11/06)
%%
%% bad output of doc-strings if HTML and Python are loaded
%% (missing group braces around mode argument in \lst@CommentB causes
%% a number `0' appearing in the output)
%%
%% 5) Christian Gudrian, 2000/11/13, 0.21d (2000/11/16)
%%
%% \ref{lst:line} jumps to top of listing and not to the line
%% (\refstepcounter not used on \c@lstlabel)
%%
%% 6) Dr. Jobst Hoffmann, 2000/11/17, 0.21e (2000/11/20)
%%
%% incompatibility with typehtml package
%% (bad lccode of /)
%%
%% 7) Kalle Tuulos, 2001/01/14, 0.21f (2001/01/17)
%%
%% formfeed characters gobbles next output unit
%% (\lst@newlines contains \lst@EOLUpdate, which calls \lst@ResetToken)
%%
%% 8) Adam Prugel-Bennett, 2001/02/19, 0.21g
%%
%% \abovecaptionskip undefined in slides.cls
%%
%% 9) Gabriel Tauro, 2001/04/18, 0.21g
%%
%% unexpected `)' if the character appears before first printed line
%% (\lst@breakProcessOther is active)
%%
%% 10) Jens Schwarzer, 2001/05/29, 0.21g
%%
%% wrong line numbering of lstlisting with first>1
%% (\lst@firstline not taken into accout in this case)
%%
%% 11) Jens Schwarzer, 2001/05/29, 0.21g (2001/06/21)
%%
%% caption and title font are not equal
%% (\lst@maketitle not suitable for koma script)
%%
%% 12) Thorsten Vitt, 2001/06/25, 0.21h
%%
%% fancyhdr + listings crossing pages ==> ~ in header, not space
%% (old problem with \output: explicitly redefine ~)
%%
%% 13) Martin Steffen, 2001/04/07, 0.21h
%%
%% mathescape drops following space
%% (bad \lst@ifwhitespace)
%%
%% 14) Walter E. Brown, 2001/05/22, 0.21h (2001/06/27)
%%
%% pdftex 3.14159-14f warning: destination with the same identifier
%% (bad default of \theHlstlabel)
%%
%% 15) Bradford Chamberlain, 2001/07/07, 0.21i
%%
%% otherkeywords={@,@^} does not work
%% (argument treated as one long keyword)
%%
%% 16) GP Gores, 2001/07/11, 0.21i (2001/07/11)
%%
%% a) inserts \par after each \lstinline
%% (\lst@Init has been modified, but I missed \lst@DeInit)
%%
%% 17) Carsten Heinz, 2001/07/16, 0.21j (2001/07/22)
%%
%% 16) makes first line of lstlisting textstyle
%% (bad modification of \lst@DeInit)
%%
%%
%% Moreover the following functionality is added.
%%
%% a) allow line breaks in \lstinline (experimental)
%%
%% b) everydisplay=<token string>
%%
%% c) nolol=<true|false> is mainly equivalent to the continue key, but
%% it will also drop lol-entries for lstlisting in the next version
%%
%%
\ProvidesFile{lstpatch}[2001/07/22 v0.21j (Carsten Heinz)]
\def\lst@topatch{0.21}
\ifx\lst@version\lst@topatch\else
\typeout{^^J%
***^^J%
*** Patch file `lstpatch.sty' for version \lst@topatch^^J%
*** is not suitable for `listings.sty' version \lst@version.^^J%
***^^J
*** Patch file not loaded.^^J%
***^^J}%
\let\lst@topatch\lst@version
\expandafter\endinput
\fi
%%
%% 1) Just define \lst@breakshape.
\gdef\lst@breakshape{%
\ifodd \c@page -\lst@innerspread \else -\lst@outerspread \fi
\linewidth}
%%
%% 2) Add \lst@PrintToken after \lst@TrackNewLines.
\def\lstpatch@strings{%
\gdef\lst@BeginString##1##2{%
\lst@TrackNewLines \lst@PrintToken
\lst@ifexstrings ##2\lst@PrintToken \fi
\lst@EnterMode{##1}%
{\lst@modetrue \let\lst@currstyle\lst@stringstyle}%
\lst@ifexstrings\else ##2\lst@PrintToken \fi
\lst@ifstringspaces
\lst@keepspacestrue
\let\lst@outputspace\lst@visiblespace
\fi}
}
%%
%% 3) Insert deactivation.
\def\lstpatch@html{%
\lst@AddToHook{SetLanguage}{\let\lst@DefInside\@empty}%
}
%%
%% 4) Insert argument braces around ##5.
\def\lstpatch@comments{%
\gdef\lst@CommentB##1##2##3##4##5##6##7##8##9{%
\lst@CDef##1##2{##3}##4%
{##6}%
{\let\lst@bnext\lst@CArgEmpty
\lst@ifmode ##7\else
##8%
\def\lst@bnext{\lst@BeginComment{##5}##9}%
\fi
\lst@bnext}%
\@empty}%
}
%%
%% 5) Use `lstlabel' with \refstepcounter.
\def\lstpatch@labels{%
\lst@AddToHook{EveryPar}
{\global\advance\c@lstlabel\m@ne \refstepcounter{lstlabel}}%
%%
%% 14) Define appropriate \theHlstlabel.
\AtBeginDocument{\def\theHlstlabel{\thelstlisting.\thelstlabel}}%
}
%%
%% 6) Restore lccode.
\lccode`\/=`\/
%%
%% 7) Don't add \lst@EOLUpdate to \lst@newlines. Since I don't know the
%% reason for adding it a long time ago :-(, it's probably better to
%% remove \lst@ResetToken (v0.22) from `InitVarsBOL' hook. Well, I'll
%% just wait for other bug reports ...
\def\lst@ProcessFormFeed{%
\lst@PrintToken
\ifx\lst@newlines\@empty
\lst@EOLUpdate \lst@formfeed
\else
% \lst@lAddTo\lst@newlines{\lst@EOLUpdate \lst@formfeed}%
\lst@lAddTo\lst@newlines{\lst@formfeed}%
\fi
\lst@whitespacetrue}
%%
%% 8) Allocate \abovecaptionskip and \belowcaptionskip if necessary.
%% Additionally define \@makecaption (exact copy from report.cls).
\@ifundefined{abovecaptionskip}
{\newskip\abovecaptionskip
\newskip\belowcaptionskip
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
\sbox\@tempboxa{#1: #2}%
\ifdim \wd\@tempboxa >\hsize
#1: #2\par
\else
\global \@minipagefalse
\hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
\fi
\vskip\belowcaptionskip}%
}{}
%%
%% 9) Also deactivate \lst@breakProcessOther.
\def\lst@BeginDropInput#1{%
\lst@EnterMode{#1}%
{\lst@modetrue
\let\lst@ProcessLetter\@gobble
\let\lst@ProcessDigit\@gobble
\let\lst@ProcessOther\@gobble
\let\lst@breakProcessOther\@gobble
\let\lst@ProcessSpace\@empty
\let\lst@ProcessTabulator\@empty
\let\lst@ProcessFormFeed\@empty}}
%%
%% 10) Replace \@tempcnta\@ne by \@tempcnta\lst@firstline.
\def\lstpatch@labels{%
\gdef\lst@SetFirstLabel{%
\ifx\lst@firstlabel\@undefined
\@tempcnta 0\csname lstno@\lst@intname\endcsname\relax
\ifnum\@tempcnta=\z@ \@tempcnta\lst@firstline
\else \lst@continuetrue \fi
\advance\@tempcnta\lst@advancelabel
\edef\lst@firstlabel{\the\@tempcnta\relax}%
\fi}%
}
%%
%% 11) Define \lst@maketitle in terms of \@makecaption. Note
%% thet this need not to work for all packages and classes.
%% The \let command here is especially for koma script.
\def\lst@maketitle#1#2{%
{\let\captionformat\@empty
\@makecaption{}\lst@title}}
%%
%% 12) Redefine ~ in output routine.
\lst@AddToHook{Init}
{\let\lsts@OldOutput\lst@OldOutput
\def\lst@OldOutput{\def~{\nobreakspace{}}%
\lsts@OldOutput}%
}
%%
%% 13) Use \lst@whitespacefalse at end of escape.
\def\lstpatch@escape{%
\lst@Key{escapeend}{}{\def\lst@escapeend{##1\lst@whitespacefalse}}%
}
%%
%% 15) Make `other keywords' active iteratively.
\def\lstpatch@keywords{%
\gdef\lst@AddOtherKey##1,{%
\ifx\relax##1\@empty\else
\ifx\@empty##1\@empty\else
\lst@MakeActive{##1}%
\lst@lExtend\lst@otherkeywords{\expandafter,\lst@temp}%
\fi
\expandafter\lst@AddOtherKey
\fi}%
\lst@Key{otherkeywords}{}%
{\let\lst@otherkeywords\@empty
\lst@AddOtherKey##1,\relax,}
}
%%
%% a) Remove \hbox in front of \bgroup and ...
\renewcommand\lstinline[1][]{%
\leavevmode\bgroup
\def\lst@boxpos{b}\let\lst@ifflexible\iftrue
\lsthk@PreSet\lstset{#1}%
\lsthk@TextStyle \lst@Init\relax
\everypar{}\let\lsthk@Endgroup\@empty
\let\lst@newlines\@empty \let\lst@breakcurrindent\z@
\lstinline@}
%% 17) Add switch to distinguish text and display style listings.
\lst@AddToHook{TextStyle}{\let\lst@iftextstyle\iftrue}
\lst@AddToHook{DisplayStyle}{\let\lst@iftextstyle\iffalse}
\let\lst@iftextstyle\iffalse
% ... back to a):
\def\lst@InputListing#1{%
\begingroup
\lsthk@PreSet \gdef\lst@intname{#1}%
\expandafter\lstset\expandafter{\lst@set}%
\lst@ifprint
\par % inserted to switch to vmode
\lst@Init\relax \let\lst@gobble\z@
\lst@SkipToFirst \input{#1}\lst@DeInit
\else
\begin{center}%
\footnotesize --- Listing of #1 has been skipped. ---
\end{center}%
\fi
\endgroup}
\def\lst@Init#1{%
\begingroup
\ifx\lst@float\relax\else
\edef\@tempa{\noexpand\@float{lstlisting}[\lst@float]}%
\expandafter\@tempa
\fi
\ifhmode\ifinner \lst@boxtrue \fi\fi
\lst@ifbox
\lsthk@BoxUnsafe
\hbox to\z@\bgroup
$\if t\lst@boxpos \vtop
\else \if b\lst@boxpos \vbox
\else \vcenter \fi\fi
\bgroup
\else
%% 17) Don't check for vertical mode, use \lst@iftextstyle.
\lst@iftextstyle\else
\lst@EveryDisplay
\par\penalty-50\relax
\vspace\lst@aboveskip
\fi
\fi
\normalbaselines
\abovecaptionskip\lst@abovecaption\relax
\belowcaptionskip\lst@belowcaption\relax
\lst@MakeCaption t%
\lsthk@PreInit \lsthk@Init
\everypar{\lsthk@EveryLine\lsthk@EveryPar}%
\lsthk@InitVars
\lsthk@InitVarsBOL
\lst@Let{13}\lst@MProcessListing
\let\lst@Backslash#1%
\lst@EnterMode{\lst@Pmode}{\lst@SelectCharTable}}
%%
%% 16) Adjust \lst@DeInit accordingly.
\def\lst@DeInit{%
\lst@PrintToken \lst@EOLUpdate
\lst@RemoveNewLine\@empty
\lst@RemoveNewLine{%
\lst@ifshowlines
\lst@TrackNewLines
\else
\setbox\@tempboxa\vbox{\lst@TrackNewLines}%
\fi}%
%% 17) Don't check for vertical mode, use \lst@iftextstyle.
\lst@iftextstyle\else
\par\removelastskip
\fi
\everypar{}\lsthk@ExitVars \lsthk@DeInit
\lst@MakeCaption b%
\lst@ifbox
\egroup $\hss \egroup
\vrule\@width\lst@maxwidth\@height\z@\@depth\z@
\else
%% check for vertical mode.
\ifvmode
\par\penalty-50\vspace\lst@belowskip
\fi
\fi
\ifx\lst@float\relax\else
\expandafter\end@float
\fi
\endgroup}
%%
%% b) Define key, the material is inserted above.
\lst@Key{everydisplay}{}{\def\lst@EveryDisplay{#1}}
%%
%% c) New key sets value of continue key.
\lst@Key{nolol}{false}[t]{\lstKV@SetIf{#1}\lst@ifnolol}
\lst@AddToHook{PreInit}{\lst@ifcontinue\else \lst@SetIfContinue \fi}
\def\lst@SetIfContinue{\let\lst@ifcontinue\lst@ifnolol}
%%
\endinput
%%
%% End of file `lstpatch.sty'.

817
docs/styles/syntax.sty Normal file
View File

@ -0,0 +1,817 @@
%%
%% This is file `syntax.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% syntax.dtx (with options: `package')
%% doafter.dtx (with options: `macro')
%%
%% IMPORTANT NOTICE
%%
%% syntax package -- typesetting syntax descriptions
%% Copyright (c) 1996 Mark Wooding
%%
%% This program 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 2 of the License, or
%% (at your option) any later version.
%%
%% This program 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 this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{syntax}
[1996/05/17 1.9 Syntax typesetting (MDW)]
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%% Digits \0\1\2\3\4\5\6\7\8\9
%% Exclamation \! Double quote \" Hash (number) \#
%% Dollar \$ Percent \% Ampersand \&
%% Acute accent \' Left paren \( Right paren \)
%% Asterisk \* Plus \+ Comma \,
%% Minus \- Point \. Solidus \/
%% Colon \: Semicolon \; Less than \<
%% Equals \= Greater than \> Question mark \?
%% Commercial at \@ Left bracket \[ Backslash \\
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
%%
\DeclareOption{rounded}{\sd@roundtrue}
\DeclareOption{square}{\sd@roundfalse}
\DeclareOption{nounderscore}{\@uscorefalse}
\newif\ifsd@round
\newif\if@uscore\@uscoretrue
\ExecuteOptions{square}
\ProcessOptions
\def\addspecial#1{%
\remspecial{#1}%
\expandafter\def\expandafter\dospecials\expandafter{\dospecials\do#1}%
\expandafter\def\expandafter\@santize\expandafter{%
\@sanitize\@makeother#1}%
}
\def\remspecial#1{%
\def\do##1{\ifnum`#1=`##1 \else\noexpand\do\noexpand##1\fi}%
\edef\dospecials{\dospecials}%
\def\@makeother##1{\ifnum`#1=`##1 \else%
\noexpand\@makeother\noexpand##1\fi}%
\edef\@sanitize{\@sanitize}%
\def\@makeother##1{\catcode`##112}%
}
\def\underscore{%
\leavevmode%
\kern.06em%
\vbox{%
\hrule\@width.6em\@depth.4ex\@height-.34ex%
}%
\ifdim\fontdimen\@ne\font=\z@%
\kern.06em%
\fi%
}
\let\usc@builtindischyphen\-
\def\@uscore.{%
\ifmmode%
\expandafter\@firstoftwo%
\else%
\expandafter\@secondoftwo%
\fi%
\sb%
{\textunderscore\@ifnextchar_{}{\usc@builtindischyphen}}%
}
\if@uscore
\AtBeginDocument{%
\catcode`\_\active%
\begingroup%
\lccode`\~`\_%
\lowercase{\endgroup\def~{\protect\@uscore.}}%
}
\fi
\expandafter\let\csname?\string\textunderscore\endcsname\underscore
\def\shortverb#1{%
\@ifundefined{cc@\string#1}{%
\addspecial#1%
\begingroup%
\lccode`\~`#1%
\lowercase{%
\endgroup%
\expandafter\let\csname mn@\string#1\endcsname~%
\expandafter\edef\csname cc@\string#1\endcsname{%
\catcode`\noexpand#1\the\catcode`#1%
\let\noexpand~\expandafter\noexpand%
\csname mn@\string#1\endcsname%
\noexpand\remspecial\noexpand#1%
\let\csname cc@\string#1\endcsname\relax%
}%
\def~{\verb~\syn@ttspace}%
}%
\catcode`#1\active%
}{%
\PackageWarning{syntax}{Character `\expandafter\@gobble\string#1'
is already a verbatim\MessageBreak
delimiter}%
}%
}
\def\unverb#1{%
\@ifundefined{cc@\string#1}{%
\PackageWarning{syntax}{Character `\expandafter\@gobble\string#1'
is not a verbatim\MessageBreak
delimiter}%
}{%
\csname cc@\string#1\endcsname%
}%
}
\newcommand{\syntleft}{$\langle$\normalfont\itshape}
\newcommand{\syntright}{$\rangle$}
\newcommand{\ulitleft}{\normalfont\ttfamily\syn@ttspace\frenchspacing}
\newcommand{\ulitright}{}
\newcommand{\litleft}{`\bgroup\ulitleft}
\newcommand{\litright}{\ulitright\egroup'}
\def\synt#1{\mbox{\syntleft{#1\/}\syntright}}
\def\lit{\@ifstar{\lit@i\ulitleft\ulitright}{\lit@i\litleft\litright}}
\def\lit@i#1#2#3{\mbox{#1{#3\/}#2}}
\def\syn@ttspace@{\spaceskip.35em\@plus.2em\@minus.15em\relax}
\def\ttthinspace{\let\syn@ttspace\syn@ttspace@}
\def\ttthickspace{\let\syn@ttspace\@empty}
\ttthinspace
\def\readupto#1#2#3{%
\bgroup%
\verb@eol@error%
\let\do\@makeother\dospecials%
#2%
\catcode`#1\active%
\lccode`\~`#1%
\gdef\verb@balance@group{\verb@egroup%
\@latex@error{\noexpand\verb illegal in command argument}\@ehc}%
\def\@vhook{\verb@egroup#3}%
\aftergroup\verb@balance@group%
\lowercase{\let~\@vhook}%
}
\def\syn@assist#1#2#3#4#5{%
\mbox\bgroup%
\chardef\\`\\%
\chardef\>`\>%
\chardef\'`\'%
\chardef\"`\"%
\chardef\ `\ %
\def\ch##1{\char`##1}%
\def\act##1{%
\catcode`##1\active%
\begingroup%
\lccode`\~`##1%
\lowercase{\endgroup\def~}%
}%
#1%
\begingroup%
\readupto#3{%
\catcode`\\0%
\catcode`\ 10%
#2%
}{%
\/\endgroup#4\egroup#5%
}%
}
\begingroup
\catcode`\<\active
\catcode`\|\active
\catcode`\"\active
\catcode`\`\active
\gdef\syn@shorts#1#2{%
\def<{%
#1%
\syn@assist%
\syntleft%
{\act_{\@foundunderscore}}%
>%
\syntright%
{#2}%
}%
\def`{%
#1%
\syn@assist%
\litleft%
\relax%
'%
\litright%
{#2}%
}%
\def"{%
#1%
\syn@assist%
\ulitleft%
\relax%
"%
\ulitright%
{#2}%
}%
\def|{\textbar}%
}
\endgroup
\def\syntaxShortcuts#1#2{%
\syn@shorts{#1}{#2}%
\addspecial\`%
\addspecial\<%
\addspecial\|%
\addspecial\"%
\catcode`\|\active%
\catcode`\<\active%
\catcode`\"\active%
\catcode`\`\active%
}
\def\synshorts{\syntaxShortcuts\relax\relax}
\def\synshortsoff{%
\catcode`\|12%
\catcode`\<12%
\catcode`\"12%
\catcode`\`12%
}
\def\syntax#{\bgroup\syntaxShortcuts\relax\relax\let\@let@token}
\newskip\grammarparsep
\grammarparsep8\p@\@plus\p@\@minus\p@
\newdimen\grammarindent
\grammarindent2em
\newcommand{\grammarlabel}[2]{%
\synt{#1} \hfill#2%
}
\def\gr@implitem<#1> #2 {%
\sbox\z@{\hskip\labelsep\grammarlabel{#1}{#2}}%
\strut\@@par%
\vskip-\parskip%
\vskip-\baselineskip%
\hrule\@height\z@\@depth\z@\relax%
\item[\unhbox\z@]%
\catcode`\<\active%
}
\let\gr@leftsq\[
\let\gr@rightsq\]
\def\[{\gr@leftsq}
\def\]{\gr@rightsq}
\newenvironment{grammar}{%
\list{}{%
\labelwidth\grammarindent%
\leftmargin\grammarindent%
\advance\grammarindent\labelsep
\itemindent\z@%
\listparindent\z@%
\parsep\grammarparsep%
}%
\let\\\@normalcr
\syntaxShortcuts\relax\relax%
\def\alt{\\\llap{\textbar\quad}}%
\def\gr@setpar{%
\def\par{%
\parshape\@ne\@totalleftmargin\linewidth%
\@@par%
\catcode`\<12%
\everypar{%
\everypar{}%
\catcode`\<\active%
\gr@implitem%
}%
}%
}%
\gr@setpar%
\par%
\def\gr@endsyntdiag]{\end{syntdiag}\gr@setpar\par}%
\def\[{\@ifnextchar[{\begin{syntdiag}\@gobble}\gr@leftsq}%
\def\]{\@ifnextchar]\gr@endsyntdiag\gr@rightsq}%
}{%
\@newlistfalse%
\everypar{}%
\endlist%
}
\newskip\sdstartspace
\newskip\sdendspace
\newskip\sdmidskip
\newskip\sdtokskip
\newskip\sdfinalskip
\newdimen\sdrulewidth
\newdimen\sdcirclediam
\newdimen\sdindent
\dimendef\sd@lower\z@
\dimendef\sd@upper\tw@
\dimendef\sd@mid4
\dimendef\sd@topcirc6
\dimendef\sd@botcirc8
\def\sd@setsize{%
\sd@mid\ht\strutbox%
\advance\sd@mid-\dp\strutbox%
\sd@mid.5\sd@mid%
\sd@upper\sdrulewidth%
\advance\sd@upper\sd@mid%
\sd@lower\sdrulewidth%
\advance\sd@lower-\sd@mid%
\sd@topcirc-.5\sdcirclediam%
\advance\sd@topcirc\sd@mid%
\sd@botcirc-.5\sdcirclediam%
\advance\sd@botcirc-\sd@mid%
}
\newcommand{\sdsize}{%
\small%
}
\newcommand{\sdlengths}{%
\setlength{\sdstartspace}{1em minus 10pt}%
\setlength{\sdendspace}{1em minus 10pt}%
\setlength{\sdmidskip}{0.5em plus 0.0001fil}%
\setlength{\sdtokskip}{0.25em plus 0.0001fil}%
\setlength{\sdfinalskip}{0.5em plus 10000fil}%
\setlength{\sdrulewidth}{0.2pt}%
\setlength{\sdcirclediam}{8pt}%
\setlength{\sdindent}{0pt}%
}
\newif\ifsd@base
\newif\ifsd@top
\newif\ifsd@toplayer
\newif\ifsd@backwards
\def\sd@err{\PackageError{syntax}}
\def\sd@arrow{%
\ht\tw@\z@%
\dp\tw@\z@%
\raise\sd@mid\box\tw@%
\egroup%
}
\def\sd@rightarr{%
\bgroup%
\setbox\tw@\hbox{\kern-6\p@\@linefnt\char'55}%
\sd@arrow%
}
\def\sd@leftarr{%
\bgroup%
\raise\sd@mid\hbox{\@linefnt\char'33\kern-6\p@}%
\sd@arrow%
}
\def\sd@uparr{%
\bgroup%
\setbox\tw@\hb@xt@\z@{\kern-\sdrulewidth\@linefnt\char'66\hss}%
\setbox\tw@\hbox{\lower10\p@\box\tw@}%
\sd@arrow%
}
\def\sd@downarr{%
\bgroup%
\setbox\tw@\hb@xt@\z@{\kern-\sdrulewidth\@linefnt\char'77\hss}%
\sd@arrow%
}
\def\sd@circ#1{%
\@getcirc\sdcirclediam%
\advance\@tempcnta#1%
\setbox\tw@\hbox{\lower\sdrulewidth%
\hbox{\@circlefnt\char\@tempcnta}}%
\wd\tw@\z@%
\leavevmode%
}
\def\sd@tlcirc{{%
\sd@circ3%
\ht\tw@\sdrulewidth%
\dp\tw@.5\sdcirclediam%
\kern-\tw@\sdrulewidth%
\raise\sd@mid\box\tw@%
\kern.5\sdcirclediam%
}}
\def\sd@trcirc{{%
\sd@circ0%
\ht\tw@\sdrulewidth%
\dp\tw@.5\sdcirclediam%
\kern.5\sdcirclediam%
\raise\sd@mid\box\tw@%
}}
\def\sd@blcirc{{%
\sd@circ2%
\ht\tw@.5\sdcirclediam%
\dp\tw@\sdrulewidth%
\kern-\tw@\sdrulewidth%
\raise\sd@mid\box\tw@%
\kern.5\sdcirclediam%
}}
\def\sd@brcirc{{%
\sd@circ1%
\ht\tw@.5\sdcirclediam%
\dp\tw@\sdrulewidth%
\kern.5\sdcirclediam%
\raise\sd@mid\box\tw@%
}}
\def\sd@llc#1{%
\hb@xt@.5\sdcirclediam{%
\sd@rule\hskip.5\sdcirclediam%
\hss%
#1%
}%
}
\def\sd@rlc#1{%
\hb@xt@.5\sdcirclediam{%
#1%
\hss%
\sd@rule\hskip.5\sdcirclediam%
}%
}
\def\sd@rule{\leaders\hrule\@height\sd@upper\@depth\sd@lower}
\def\sd@gap#1{%
\ifsd@base%
\skip@#1%
\divide\skip\z@\tw@%
\nobreak\sd@rule\hskip\skip@%
\discretionary{%
\sd@qarrow{->}%
}{%
\hbox{%
\sd@qarrow{>-}%
\sd@rule\hskip\sdstartspace%
\sd@rule\hskip3.5\p@%
}%
}{%
}%
\nobreak\sd@rule\hskip\skip@%
\else%
\sd@rule\hskip#1%
\fi%
}
\def\syntdiag{%
\syntaxShortcuts\sd@tok@i\sd@tok@ii%
\@ifnextchar[\syntdiag@i{\syntdiag@i[]}%
}
\def\syntdiag@i[#1]{%
\sdsize\sdlengths%
#1%
\sd@setsize%
\list{}{%
\leftmargin\sdindent%
\rightmargin\leftmargin%
\labelsep\z@%
\labelwidth\z@%
}%
\item[]%
\parfillskip\z@%
\noindent%
\sd@qarrow{>>-}%
\nobreak\sd@rule\hskip\sdstartspace%
\sd@basetrue%
\sloppy%
\interlinepenalty100%
\hyphenpenalty0%
\catcode`\ 9%
\catcode`\^^M9%
\def\gr@leftsq{\begin{stack}\\}%
\def\gr@rightsq{\end{stack}}%
\def\({\begin{stack}}%
\def\){\end{stack}}%
\def\<{\begin{rep}}%
\def\>{\end{rep}}%
\let\\\sd@newline%
\ignorespaces%
}
\def\endsyntdiag{%
\unskip%
\nobreak\sd@rule\hskip\sdmidskip%
\sd@rule\hskip\sdfinalskip%
\sd@qarrow{-><}%
\endlist%
}
\@namedef{syntdiag*}{%
\syntaxShortcuts\sd@tok@i\sd@tok@ii%
\@ifnextchar[\syntdiag@s@i{\syntdiag@s@i[]}%
}
\def\syntdiag@s@i[#1]{%
\@ifnextchar[{\syntdiag@s@ii{#1}}{\syntdiag@s@iii{#1}{\hbox}}%
}
\def\syntdiag@s@ii#1[#2]{\syntdiag@s@iii{#1}{\hb@xt@#2}}
\def\syntdiag@s@iii#1#2{%
\leavevmode%
#2\bgroup%
\let\@@left\left%
\let\@@right\right%
\def\left##1{\def\sd@startarr{##1}}%
\def\right##1{\def\sd@endarr{##1}}%
\left{>-}\right{->}%
\sdsize\sdlengths%
#1%
\sd@setsize%
\let\left\@@left%
\let\right\@@right%
\sd@qarrow\sd@startarr%
\sd@rule\hskip\sdmidskip%
\sd@basefalse%
\catcode`\ 9%
\catcode`\^^M9%
\ignorespaces%
}
\@namedef{endsyntdiag*}{%
\unskip%
\sd@rule\hskip\sdmidskip%
\sd@rule\hskip\sdfinalskip%
\sd@qarrow\sd@endarr%
\egroup%
}
\def\sd@qarrow#1{%
\begingroup%
\lccode`\~=`\<\lowercase{\def~{<}}%
\hbox{\csname sd@arr@#1\endcsname}%
\endgroup%
}
\@namedef{sd@arr@>>-}{\sd@rightarr\kern-.5\p@\sd@rightarr\kern-\p@}
\@namedef{sd@arr@>-}{\sd@rightarr\kern-\p@}
\@namedef{sd@arr@->}{\sd@rightarr}
\@namedef{sd@arr@-><}{\sd@rightarr\kern-\p@\sd@leftarr}
\@namedef{sd@arr@...}{$\cdots$}
\@namedef{sd@arr@-}{}
\def\sd@newline{\@ifstar{\vadjust{\penalty\@M}\sd@nl@i}\sd@nl@i}
\def\sd@nl@i{\@ifnextchar[\sd@nl@ii\sd@nl@iii}
\def\sd@nl@ii[#1]{\vspace{#1}\sd@nl@iii}
\def\sd@nl@iii{%
\nobreak\sd@rule\hskip\sdmidskip%
\sd@rule\hskip\sdfinalskip%
\kern-3\p@%
\sd@rightarr%
\newline%
\sd@rightarr%
\nobreak\sd@rule\hskip\sdstartspace%
\sd@rule\hskip3.5\p@%
}
\def\sdbox#1{%
\@tempskipa#1\relax%
\sd@gap\@tempskipa%
\setbox\z@\hbox\bgroup%
\begingroup%
\catcode`\ 10%
\catcode`\^^M5%
\synshortsoff%
}
\def\endsdbox{%
\endgroup%
\egroup%
\@tempdima\ht\z@%
\advance\@tempdima-\dp\z@%
\advance\@tempdima-\tw@\sd@mid%
\lower.5\@tempdima\box\z@%
\sd@gap\@tempskipa%
}
\def\sd@tok@i{%
\sdbox\sdtokskip%
\strut%
\space%
}
\def\sd@tok@ii{%
\space%
\endsdbox%
}
\def\tok#{%
\sdbox\sdtokskip%
\strut%
\enspace%
\syntaxShortcuts\relax\relax%
\doafter\sd@tok%
}
\def\sd@tok{%
\enspace%
\endsdbox%
}
\newcommand\stack[1][t]{%
\sd@gap\sdmidskip%
\begingroup\sd@basefalse%
\sd@toplayertrue%
\let\\\sd@stackcr%
\if#1t%
\let\@tempa\vtop%
\sd@toptrue%
\ifsd@round\llap{\sd@trcirc\kern\tw@\sdrulewidth}\fi%
\else\if#1b%
\let\@tempa\vbox%
\sd@topfalse%
\ifsd@round\llap{\sd@brcirc\kern\tw@\sdrulewidth}\fi%
\else%
\sd@err{Bad position argument passed to stack}%
{The positioning argument must be one of `t' or `b'. I%
have^^Jassumed you meant to type `t'.}%
\let\@tempa\vtop%
\fi\fi%
\@tempa\bgroup%
\offinterlineskip%
\ialign\bgroup%
##\cr%
\setbox\z@\hbox\bgroup%
\strut%
}
\def\endstack{%
\egroup%
\ifsd@toplayer%
\sd@dostack\sd@upper\sd@lower\relax\relax%
\else%
\ifsd@round%
\ifsd@top%
\sd@dostack{\ht\z@}\sd@botcirc\sd@blcirc\sd@brcirc%
\else%
\sd@dostack{\ht\z@}\sd@botcirc\relax\relax%
\fi%
\else%
\sd@dostack{\ht\z@}\sd@lower\relax\relax%
\fi%
\fi%
\egroup%
\egroup%
\ifsd@round%
\ifsd@top
\rlap{\kern\tw@\sdrulewidth\sd@tlcirc}%
\else%
\rlap{\kern\tw@\sdrulewidth\sd@blcirc}%
\fi%
\fi%
\endgroup\sd@gap\sdmidskip%
}
\def\sd@stackcr{%
\egroup%
\ifsd@toplayer%
\ifsd@round%
\ifsd@top%
\sd@dostack\sd@topcirc{\dp\z@}\relax\relax%
\else%
\sd@dostack\sd@topcirc{\dp\z@}\sd@tlcirc\sd@trcirc%
\fi%
\else%
\sd@dostack\sd@upper{\dp\z@}\relax\relax%
\fi%
\else%
\ifsd@round%
\ifsd@top%
\sd@dostack{\ht\z@}{\dp\z@}\sd@blcirc\sd@brcirc%
\else%
\sd@dostack{\ht\z@}{\dp\z@}\sd@tlcirc\sd@trcirc%
\fi%
\else%
\sd@dostack{\ht\z@}{\dp\z@}\relax\relax%
\fi%
\fi%
\sd@toplayerfalse%
\setbox\z@\hbox\bgroup%
\strut%
}
\def\sd@dostack#1#2#3#4{%
\@tempdima#1%
\@tempdimb#2%
\kern-\tw@\sdrulewidth%
\vrule\@height\@tempdima\@depth\@tempdimb\@width\tw@\sdrulewidth%
#3%
\sd@rule\hfill%
\sd@gap\sdtokskip%
\unhbox\z@%
\sd@gap\sdtokskip%
\sd@rule\hfill%
#4%
\vrule\@height\@tempdima\@depth\@tempdimb\@width\tw@\sdrulewidth%
\kern-\tw@\sdrulewidth%
\cr%
}
\newcommand\rep[1][t]{%
\sd@gap\sdmidskip%
\begingroup\sd@basefalse%
\ifsd@backwards\sd@backwardsfalse\else\sd@backwardstrue\fi%
\let\\\sd@loop%
\if#1t%
\let\@tempa\vbox%
\sd@toptrue%
\else\if#1b%
\let\@tempa\vtop%
\sd@topfalse%
\else%
\sd@err{Bad position argument passed to loop}%
{The positioning argument must be `t' or `b'. I have^^J%
assumed you meant to type `t'.}%
\let\@tempa\vbox%
\sd@toptrue%
\fi\fi%
\@tempa\bgroup%
\setbox\tw@\copy\strutbox%
\setbox\z@\hbox\bgroup\strut%
}
\def\endrep{%
\egroup%
\ifsd@top%
\ifsd@round%
\sd@doloop\tw@\z@\relax\relax%
\sd@tlcirc\sd@trcirc{\sd@rlc\sd@blcirc}{\sd@llc\sd@brcirc}%
\else%
\sd@doloop\tw@\z@\relax\sd@downarr\relax\relax\relax\relax%
\fi%
\else%
\ifsd@round%
\sd@doloop\z@\tw@\relax\relax%
{\sd@rlc\sd@tlcirc}{\sd@llc\sd@trcirc}\sd@blcirc\sd@brcirc%
\else%
\sd@doloop\z@\tw@\sd@uparr\relax\relax\relax\relax\relax%
\fi%
\fi%
\egroup%
\endgroup\sd@gap\sdmidskip%
}
\def\sd@loop{%
\egroup%
\def\\{\sd@err{Too many \string\\\space commands in loop}\@ehc}%
\setbox\tw@\hbox\bgroup\strut%
}
\def\sd@doloop#1#2#3#4#5#6#7#8{%
\@tempdima\dp#1\relax%
\@tempdimb\ht#2\relax%
\offinterlineskip%
\ialign{%
##\cr%
\ifsd@round%
\sd@doloop@i#1#3\sd@topcirc\@tempdima{#5}{#6}%
\sd@doloop@i#2#4\@tempdimb\sd@botcirc{#7}{#8}%
\else%
\sd@doloop@i#1#3\sd@upper\@tempdima{#5}{#6}%
\sd@doloop@i#2#4\@tempdimb\sd@lower{#7}{#8}%
\fi%
}%
}
\def\sd@doloop@i#1#2#3#4#5#6{%
\ifsd@backwards#2\fi%
\kern-\tw@\sdrulewidth%
\vrule\@height#3\@depth#4\@width\tw@\sdrulewidth%
#5%
\sd@rule\hfill%
\sd@gap\sdtokskip%
\unhbox#1%
\sd@gap\sdtokskip%
\sd@rule\hfill%
#6%
\vrule\@height#3\@depth#4\@width\tw@\sdrulewidth%
\ifsd@backwards\else#2\fi%
\kern-\tw@\sdrulewidth%
\cr%
}
%%
%% doafter package -- insert a token really after a group
%% Copyright (c) 1996 Peter Schmitt and Mark Wooding
%%
\let\@@aftergroup\aftergroup
\def\doafter#1{%
\def\@tempa{\@@aftergroup#1}%
\afterassignment\doafter@i\let\@let@token%
}
\def\doafter@i{%
\@let@token%
\let\aftergroup\@my@aftergroup%
\@@aftergroup\@prepare@after\@tempa%
}
\def\ag@cnt@local{0 }
\let\ag@cnt@global\ag@cnt@local
\def\@my@aftergroup{%
\begingroup%
\count@\ag@cnt@local%
\advance\count@\@ne%
\xdef\ag@cnt@global{\the\count@\space}%
\endgroup%
\let\ag@cnt@local\ag@cnt@global%
\@@aftergroup\@after@token\@@aftergroup%
}
\def\@after@token{%
\@start@after@group%
\@after@token%
}
\def\@start@after@group{%
\begingroup%
\count@\ag@cnt@global%
\clubpenalty\ag@cnt@local%
\let\@after@token\@after@token@i%
}
\def\@after@token@i{%
\advance\count@\m@ne%
\ifnum\count@=\clubpenalty%
\global\let\ag@cnt@global\ag@cnt@local%
\expandafter\@after@aftertoken\expandafter\@after@all%
\else%
\expandafter\@@aftergroup%
\fi%
}
\let\@after@all\endgroup
\def\@prepare@after{%
\ifx\ag@cnt@local\ag@cnt@global\else%
\expandafter\@prepare@after@i%
\fi%
}
\def\@prepare@after@i#1{%
\@start@after@group%
\def\@after@all{\@@aftergroup#1\endgroup}%
}
\def\@after@aftertoken#1{%
\let\bgroup\relax\let\egroup\relax%
\toks@{#1}%
\futurelet\@let@token\@after@aftertoken@i%
}
\def\@after@aftertoken@i{%
\ifcat\noexpand\@let@token{%
\@@aftergroup{%
\else\ifcat\noexpand\@let@token}%
\@@aftergroup}%
\else%
\def\@tempa##1{\@@aftergroup##1\the\toks@}%
\expandafter\expandafter\expandafter\@tempa%
\fi\fi%
}
\endinput
%%
%% End of file `syntax.sty'.

View File

@ -26,11 +26,11 @@
\FPCexampledir{typinfex}
The \file{TypeInfo} unit contains many routines which can be used for
the querying of the Run-Time Type Information (RTTI) which is generated
by the compiler for classes that are compiled under the \var{\{\*M+\}}
by the compiler for classes that are compiled under the \var{\{\$M+\}}
switch. This information can be used to retrieve or set property values
for published properties for totally unknown classes. In particular, it
can be used to stream classes. The \var{TPersistent} class in the
\file{Classes} unit is compiled in the \var{\{\*M+\}} state and serves
\file{Classes} unit is compiled in the \var{\{\$M+\}} state and serves
as the base class for all classes that need to be streamed.
The unit should be compatible to the Delphi 5 unit with the same name.

View File

@ -21,7 +21,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Preamble.
\input{preamble.inc}
\latex{%
\begin{latexonly}
\ifpdf
\pdfinfo{/Author(Michael Van Canneyt)
/Title(Standard units Reference Guide)
@ -29,7 +29,8 @@
/Keywords(Free Pascal, Units, RTL)
}
\fi
}
\end{latexonly}
%
% Settings
%

View File

@ -21,14 +21,16 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Preamble.
\input{preamble.inc}
\latex{%
\begin{latexonly}
\ifpdf
\pdfinfo{/Author(Michael Van Canneyt)
/Title(Users' Guide)
/Subject(Free Pascal Users' guide)
/Keywords(Free Pascal)
}
\fi}
\fi
\end{latexonly}
%
% Settings
%
@ -115,7 +117,7 @@ If the documentation doesn't give an answer to your questions,
you can obtain more information on the Internet, on the following addresses:
\begin{itemize}
\item
\htmladdnormallink{http://www.freepascal.org/}
\seeurl{http://www.freepascal.org/}
{http://www.freepascal.org} is the main
site. It contains also useful mail addresses and
links to other places.
@ -123,7 +125,7 @@ It also contains the instructions for inscribing to the
\textit{mailing-list}.
\item
\htmladdnormallink{http://community.freepascal.org:10000/}
\seeurl{http://community.freepascal.org:10000/}
{http://community.freepascal.org:10000/} is a forum site where
questions can be posted.
\end{itemize}
@ -131,7 +133,7 @@ Other than that, some mirrors exist.
Finally, if you think something should be added to this manual
(entirely possible), please do not hesitate and contact me at
\htmladdnormallink{michael@freepascal.org}{mailto:michael@freepascal.org}.
\seeurl{michael@freepascal.org}{mailto:michael@freepascal.org}.
.
Let's get on with something useful.
@ -206,31 +208,10 @@ compiler distribution. The distribution zip file contains an
installation program \file{INSTALL.EXE}. You must run this program to install
the compiler.
\begin{htmlonly}
The first screen of the installation program looks like this:
\fpcaddimg{../pics/install1.png}
And the second screen looks like
\fpcaddimg{../pics/install2.png}
\end{htmlonly}
\begin{latexonly}
The screen of the installation program looks like figure \ref{fig:install}.
\begin{figure}
\caption{The \dos install program screen.}
\label{fig:install}
\ifpdf
\epsfig{file=pics/install1.png,width=\textwidth}
\end{figure}
\begin{figure}
\caption{The \dos install program screen.}
\label{fig:installb}
\epsfig{file=pics/install2.png,width=\textwidth}
%\epsfig{file=pics/install2s.png}
\else
\epsfig{file=pics/install1.eps,width=\textwidth}
\epsfig{file=pics/install2.eps,width=\textwidth}
\fi
\end{figure}
\end{latexonly}
The screen of the installation program looks like figure \ref{fig:install1}.
\FPCpic{The \dos install program screen}{}{install1}
\FPCpic{}{}{install2}
The program allows you to select:
\begin{itemize}
@ -1946,9 +1927,9 @@ period & . \\
\end{FPCltable}
The \textbf{Options} codewords define actions to be taken when the keyword before
the equal sign is found, \seet{options}
the equal sign is found, \seet{ptopoptions}
\begin{FPCltable}{lll}{Possible options}{options}
\begin{FPCltable}{lll}{Possible options}{ptopoptions}
Option & does what \\ \hline
crsupp & suppress CR before the keyword.\\
crbefore & force CR before keyword\\