# HG changeset patch # User kent # Date 1206454589 -32400 # Node ID 7fdca589238fa88bb367d8f93ee2bdb2b46c845e # Parent 2c619ec34ae4a84f347cd4f6b93a4c1531be6085 *** empty log message *** diff -r 2c619ec34ae4 -r 7fdca589238f main.pdf Binary file main.pdf has changed diff -r 2c619ec34ae4 -r 7fdca589238f main.tex --- a/main.tex Tue Mar 25 14:02:48 2008 +0900 +++ b/main.tex Tue Mar 25 23:16:29 2008 +0900 @@ -82,9 +82,10 @@ また、\verb|A|から\verb|B|,再び\verb|A|の用に継続を繰り返すことも可能だ。 このように、code segmentからgotoを用いて別のcode segmentへ飛ぶ 構成はオートマトンと似た構造になっていることがわかる。 -ただしCbCの継続ではinterfaceと呼ばれるcode segmentへの引数が存在し、 -継続して実行されたcode segmntは前のcode segmentからの状態を -引数によって受け取ることができる。 + +これらの特徴から、CbCは自身でスケジューラの記述ができ、 +それにより並列処理や逐次処理をスムースに繋げることが出来る。 +また、OperatingSystemの記述やハードウェアの記述が容易になる。 以下では実装に必要なCbCの構文、 code segmentの定義と継続(goto)について説明する。 @@ -135,7 +136,7 @@ inline関数の処理や、関数間での最適化を行う場合には 一つのソースファイル毎に行われる。 -\subsection{Tail call elimination}\ref{sec:tailcall} +\subsection{Tail call elimination}\label{sec:tailcall} 最適化のひとつである``Tail call elimination''は、 本研究におけるCbCコンパイラの実装に深く関わってくる。 本節ではこの最適化機構について詳しく説明する。 @@ -561,7 +562,7 @@ これはTailcallを無理矢理適用したために出てきたコードである。 このような関数の最初と最後にある無駄なフレームポインタのpushを抑制するオプションが --fomit-frame-pointerである。このオプションを付加するとリスト\ref{bench_gcc_omit} +-fomit-frame-pointerである。このオプションを付加するとリスト\ref{code:bench_gcc_omit} \begin{lstlisting}[caption=GCCによる出力コード,label=code:bench_gcc_omit] f2: movl 4(%esp), %eax @@ -574,14 +575,13 @@ \end{lstlisting} これによって一気に3命令減った。ベンチマークは表\ref{tab:mc,gcc,compare}の3行目、``GCC (+omit)''である。 しかし、(code segmentにもよるが)3/10命令減ったにもかかわらずMicro-Cとの速度差が -ほとんど無いことがわかる。 +ほとんど無い。 -これはリスト\ref{code:bench_mc}をもう一度見てもらえるとわかるが、 -Micro-Cでは引数の格納にレジスタ\%ediと\%esiを用いていることが最大の理由だろう。 -もちろんGCCでは通常関数の引数はスタック、つまりメモリ上に格納される。 -この違いが命令数の差を埋めていると思われる。 +リスト11をみるとMicro-Cでは引数の格納にレジスタ\%edi と +\%esi を用いる分、高速なコードを生成出来ていることが分かる。 +この違いが命令数の差を埋めている。 GCCでも引数をレジスタに詰めることができるfastcall属性がある。 --fomit-frame-pointerに加えてfastcallを付加した結果をリスト\ref{bench_gcc_fast} +-fomit-frame-pointerに加えてfastcallを付加した結果をリスト\ref{code:bench_gcc_fast} に示す。 \begin{lstlisting}[caption=GCCによる出力コード,label=code:bench_gcc_fast] f2: @@ -597,9 +597,10 @@ この評価結果から、GCCの最適化オプションを用いることで CbCコードのさらなる高速化が可能であることが示された。 また、使用したベンチマークプログラムはCのコードをプログラムで -CbCに変換したものだが、これをCのままコンパイルすると、 +CbCに変換したものだが、これをCのままコンパイルすると 最適化をかけても約3.3秒かかる。 -このようにC言語のみでは不可能な手動による最適化がCbCの利点としてあげられる。 +このように不要なスタック操作を減らすことによって、 +C言語のみでは不可能な手動による最適化がCbCの利点としてあげられる。 \section{今後の課題と考察} @@ -634,7 +635,8 @@ またこれらに加えて、GCCはすでにC++や Objective-C のコンパイルが可能である。これを活かし、 CbC++, もしくはObjective-CbC といった -既存の言語とCbC を組み合わせた言語に付いても考えてみる価値があるだろう。 +既存の言語とCbC を組み合わせた言語に付いても今後実装していく。 +%考えてみる価値があるだろう。 \small diff -r 2c619ec34ae4 -r 7fdca589238f nonDefaultPackage/listings.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nonDefaultPackage/listings.cfg Tue Mar 25 23:16:29 2008 +0900 @@ -0,0 +1,45 @@ +%% +%% This is file `listings.cfg', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lstdrvrs-1.3.dtx (with options: `config') +%% +%% (w)(c) 1996/1997/1998/1999/2000/2001/2002/2003/2004 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. +%% +%% Send comments and ideas on the package, error reports and additional +%% programming languages to . +%% +\ProvidesFile{listings.cfg}[2004/09/05 1.3 listings configuration] +\def\lstlanguagefiles + {lstlang0.sty,lstlang1.sty,lstlang2.sty,lstlang3.sty} +\lstset{defaultdialect=[R/3 6.10]ABAP, + defaultdialect=[95]Ada, + defaultdialect=[68]Algol, + defaultdialect=[gnu]Awk, + defaultdialect=[ANSI]C, + defaultdialect=[light]Caml, + defaultdialect=[1985]Cobol, + defaultdialect=[ISO]C++, + defaultdialect=[95]Fortran, + defaultdialect=[3.0]Mathematica, + defaultdialect=[OMG]OCL, + defaultdialect=[Standard]Pascal, + defaultdialect=[67]Simula, + defaultdialect=[plain]TeX, + defaultdialect=[97]VRML} +\lstalias[]{TclTk}[tk]{tcl} +\lstalias[6.1]{ABAP}[R/3 6.10]{ABAP} +\lstalias[3.1]{ABAP}[R/3 3.1C]{ABAP} +\lstalias[4.6]{ABAP}[R/3 4.6C]{ABAP} +\endinput +%% +%% End of file `listings.cfg'. diff -r 2c619ec34ae4 -r 7fdca589238f nonDefaultPackage/listings.sty --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nonDefaultPackage/listings.sty Tue Mar 25 23:16:29 2008 +0900 @@ -0,0 +1,2002 @@ +%% +%% This is file `listings.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% listings-1.3.dtx (with options: `kernel') +%% +%% Please read the software license in listings-1.3.dtx or listings-1.3.pdf. +%% +%% (w)(c) 1996--2004 Carsten Heinz and/or any other author listed +%% elsewhere in this file. +%% +%% Send comments and ideas on the package, error reports and additional +%% programming languages to . +%% +\def\filedate{2004/09/07} +\def\fileversion{1.3} +\NeedsTeXFormat{LaTeX2e} +\AtEndOfPackage{\ProvidesPackage{listings} + [\filedate\space\fileversion\space(Carsten Heinz)]} +\def\lst@CheckVersion#1{\edef\reserved@a{#1}% + \ifx\lst@version\reserved@a \expandafter\@gobble + \else \expandafter\@firstofone \fi} +\let\lst@version\fileversion +\def\lst@InputCatcodes{% + \makeatletter \catcode`\"12% + \catcode`\^^@\active + \catcode`\^^I9% + \catcode`\^^L9% + \catcode`\^^M9% + \catcode`\%14% + \catcode`\~\active} +\def\lst@RestoreCatcodes#1{% + \ifx\relax#1\else + \noexpand\catcode`\noexpand#1\the\catcode`#1\relax + \expandafter\lst@RestoreCatcodes + \fi} +\edef\lst@RestoreCatcodes{% + \noexpand\lccode`\noexpand\/`\noexpand\/% + \lst@RestoreCatcodes\"\^^I\^^M\~\^^@\relax} +\lst@InputCatcodes +\AtEndOfPackage{\lst@RestoreCatcodes} +\def\@lst{lst} +\def\lst@IfSubstring#1#2{% + \def\lst@temp##1#1##2##3\relax{% + \ifx \@empty##2\expandafter\@secondoftwo + \else \expandafter\@firstoftwo \fi}% + \expandafter\lst@temp#2#1\@empty\relax} +\def\lst@IfOneOf#1\relax#2{% + \def\lst@temp##1,#1,##2##3\relax{% + \ifx \@empty##2\expandafter\@secondoftwo + \else \expandafter\@firstoftwo \fi}% + \expandafter\lst@temp\expandafter,#2,#1,\@empty\relax} +\def\lst@DeleteKeysIn#1#2{% + \expandafter\lst@DeleteKeysIn@\expandafter#1#2,\relax,} +\def\lst@DeleteKeysIn@#1#2,{% + \ifx\relax#2\@empty + \expandafter\@firstoftwo\expandafter\lst@RemoveCommas + \else + \ifx\@empty#2\@empty\else + \def\lst@temp##1,#2,##2{% + ##1% + \ifx\@empty##2\@empty\else + \expandafter\lst@temp\expandafter,% + \fi ##2}% + \edef#1{\expandafter\lst@temp\expandafter,#1,#2,\@empty}% + \fi + \fi + \lst@DeleteKeysIn@#1} +\def\lst@RemoveCommas#1{\edef#1{\expandafter\lst@RC@#1\@empty}} +\def\lst@RC@#1{\ifx,#1\expandafter\lst@RC@ \else #1\fi} +\def\lst@ReplaceIn#1#2{% + \expandafter\lst@ReplaceIn@\expandafter#1#2\@empty\@empty} +\def\lst@ReplaceInArg#1#2{\lst@ReplaceIn@#1#2\@empty\@empty} +\def\lst@ReplaceIn@#1#2#3{% + \ifx\@empty#3\relax\else + \def\lst@temp##1#2##2{% + \ifx\@empty##2% + \lst@lAddTo#1{##1}% + \else + \lst@lAddTo#1{##1#3}\expandafter\lst@temp + \fi ##2}% + \let\@tempa#1\let#1\@empty + \expandafter\lst@temp\@tempa#2\@empty + \expandafter\lst@ReplaceIn@\expandafter#1% + \fi} +\providecommand*\@gobblethree[3]{} +\def\lst@GobbleNil#1\@nil{} +\def\lst@Swap#1#2{#2#1} +\def\lst@true{\let\lst@if\iftrue} +\def\lst@false{\let\lst@if\iffalse} +\lst@false +\def\lst@IfNextCharsArg#1{% + \def\lst@tofind{#1}\lst@IfNextChars\lst@tofind} +\def\lst@IfNextChars#1#2#3{% + \let\lst@tofind#1\def\@tempa{#2}\def\@tempb{#3}% + \let\lst@eaten\@empty \lst@IfNextChars@} +\def\lst@IfNextChars@{\expandafter\lst@IfNextChars@@\lst@tofind\relax} +\def\lst@IfNextChars@@#1#2\relax#3{% + \def\lst@tofind{#2}\lst@lAddTo\lst@eaten{#3}% + \ifx#1#3% + \ifx\lst@tofind\@empty + \let\lst@next\@tempa + \else + \let\lst@next\lst@IfNextChars@ + \fi + \expandafter\lst@next + \else + \expandafter\@tempb + \fi} +\def\lst@IfNextCharActive#1#2#3{% + \begingroup \lccode`\~=`#3\lowercase{\endgroup + \ifx~}#3% + \def\lst@next{#1}% + \else + \def\lst@next{#2}% + \fi \lst@next #3} +\def\lst@for#1\do#2{% + \def\lst@forbody##1{#2}% + \@for\lst@forvar:=#1\do + {\expandafter\lst@forbody\expandafter{\lst@forvar}}} +\def\lst@MakeActive#1{% + \let\lst@temp\@empty \lst@MakeActive@#1% + \relax\relax\relax\relax\relax\relax\relax\relax\relax} +\begingroup +\catcode`\^^@=\active \catcode`\^^A=\active \catcode`\^^B=\active +\catcode`\^^C=\active \catcode`\^^D=\active \catcode`\^^E=\active +\catcode`\^^F=\active \catcode`\^^G=\active \catcode`\^^H=\active +\gdef\lst@MakeActive@#1#2#3#4#5#6#7#8#9{\let\lst@next\relax + \ifx#1\relax + \else \lccode`\^^@=`#1% + \ifx#2\relax + \lowercase{\lst@lAddTo\lst@temp{^^@}}% + \else \lccode`\^^A=`#2% + \ifx#3\relax + \lowercase{\lst@lAddTo\lst@temp{^^@^^A}}% + \else \lccode`\^^B=`#3% + \ifx#4\relax + \lowercase{\lst@lAddTo\lst@temp{^^@^^A^^B}}% + \else \lccode`\^^C=`#4% + \ifx#5\relax + \lowercase{\lst@lAddTo\lst@temp{^^@^^A^^B^^C}}% + \else \lccode`\^^D=`#5% + \ifx#6\relax + \lowercase{\lst@lAddTo\lst@temp{^^@^^A^^B^^C^^D}}% + \else \lccode`\^^E=`#6% + \ifx#7\relax + \lowercase{\lst@lAddTo\lst@temp{^^@^^A^^B^^C^^D^^E}}% + \else \lccode`\^^F=`#7% + \ifx#8\relax + \lowercase{\lst@lAddTo\lst@temp{^^@^^A^^B^^C^^D^^E^^F}}% + \else \lccode`\^^G=`#8% + \ifx#9\relax + \lowercase{\lst@lAddTo\lst@temp{^^@^^A^^B^^C^^D^^E^^F^^G}}% + \else \lccode`\^^H=`#9% + \lowercase{\lst@lAddTo\lst@temp{^^@^^A^^B^^C^^D^^E^^F^^G^^H}}% + \let\lst@next\lst@MakeActive@ + \fi \fi \fi \fi \fi \fi \fi \fi \fi + \lst@next} +\endgroup +\def\lst@DefActive#1#2{\lst@MakeActive{#2}\let#1\lst@temp} +\def\lst@DefOther#1#2{% + \begingroup \def#1{#2}\escapechar\m@ne \expandafter\endgroup + \expandafter\lst@DefOther@\meaning#1\relax#1} +\def\lst@DefOther@#1>#2\relax#3{\edef#3{\zap@space#2 \@empty}} +\def\lst@InsideConvert#1{% + \lst@ifmathescape + \lst@InsideConvert@e#1$\@nil + \lst@if + \lst@InsideConvert@ey#1\@nil + \else + \lst@InsideConvert@#1 \@empty + \expandafter\@gobbletwo + \fi + \expandafter\lst@next + \else + \lst@InsideConvert@#1 \@empty + \fi} +\begingroup \lccode`\~=`\ \relax \lowercase{% +\gdef\lst@InsideConvert@#1 #2{% + \lst@MakeActive{#1}% + \ifx\@empty#2% + \lst@lExtend\lst@arg{\lst@temp}% + \else + \lst@lExtend\lst@arg{\lst@temp~}% + \expandafter\lst@InsideConvert@ + \fi #2} +}\endgroup +\def\lst@InsideConvert@e#1$#2\@nil{% + \ifx\@empty#2\@empty \lst@false \else \lst@true \fi} +\def\lst@InsideConvert@ey#1$#2$#3\@nil{% + \lst@InsideConvert@#1 \@empty + \lst@lAddTo\lst@arg{% + \lst@ifdropinput\else + \lst@TrackNewLines\lst@OutputLostSpace \lst@XPrintToken + \setbox\@tempboxa=\hbox\bgroup$\lst@escapebegin + #2% + \lst@escapeend$\egroup \lst@CalcLostSpaceAndOutput + \lst@whitespacefalse + \fi}% + \def\lst@next{\lst@InsideConvert{#3}}% +} +\def\lst@XConvert{\@ifnextchar\bgroup \lst@XConvertArg\lst@XConvert@} +\def\lst@XConvertArg#1{% + {\lst@false \let\lst@arg\@empty + \lst@XConvert#1\@nil + \global\let\@gtempa\lst@arg}% + \lst@lExtend\lst@arg{\expandafter{\@gtempa}}% + \lst@XConvertNext} +\def\lst@XConvert@#1{% + \ifx\@nil#1\else + \begingroup\lccode`\~=`#1\lowercase{\endgroup + \lst@lAddTo\lst@arg~}% + \expandafter\lst@XConvertNext + \fi} +\def\lst@XConvertNext{% + \lst@if \expandafter\lst@XConvertX + \else \expandafter\lst@XConvert \fi} +\def\lst@XConvertX#1{% + \ifx\@nil#1\else + \lst@XConvertX@#1\relax + \expandafter\lst@XConvert + \fi} +\def\lst@XConvertX@#1#2\relax{% + \begingroup\lccode`\~=`#1\lowercase{\endgroup + \lst@XCConvertX@@~}{#2}} +\def\lst@XCConvertX@@#1#2{\lst@lAddTo\lst@arg{{#1#2}}} +\def\lst@Require#1#2#3#4#5{% + \begingroup + \aftergroup\lst@true + \ifx\@empty#3\@empty\else + \def\lst@prefix{#2}\let\lst@require\@empty + \edef\lst@temp{\expandafter\zap@space#3 \@empty}% + \lst@for\lst@temp\do{% + \ifx\@empty##1\@empty\else \lstKV@OptArg[]{##1}{% + #4[####1]{####2}% + \@ifundefined{\@lst\lst@prefix @\lst@malias $\lst@oalias}% + {\edef\lst@require{\lst@require,\lst@malias $\lst@oalias}}% + {}}% + \fi}% + \global\let\lst@loadaspects\@empty + \lst@InputCatcodes + \ifx\lst@require\@empty\else + \lst@for{#5}\do{% + \ifx\lst@require\@empty\else + \InputIfFileExists{##1}{}{}% + \fi}% + \fi + \ifx\lst@require\@empty\else + \PackageError{Listings}{Couldn't load requested #1}% + {The following #1s weren't loadable:^^J\@spaces + \lst@require^^JThis may cause errors in the sequel.}% + \aftergroup\lst@false + \fi + \ifx\lst@loadaspects\@empty\else + \lst@RequireAspects\lst@loadaspects + \fi + \fi + \endgroup} +\def\lst@IfRequired[#1]#2{% + \lst@NormedDef\lst@temp{[#1]#2}% + \expandafter\lst@IfRequired@\lst@temp\relax} +\def\lst@IfRequired@[#1]#2\relax#3{% + \lst@IfOneOf #2$#1\relax\lst@require + {\lst@DeleteKeysIn@\lst@require#2$#1,\relax,% + \global\expandafter\let + \csname\@lst\lst@prefix @#2$#1\endcsname\@empty + #3}} +\let\lst@require\@empty +\def\lst@NoAlias[#1]#2{% + \lst@NormedDef\lst@oalias{#1}\lst@NormedDef\lst@malias{#2}} +\gdef\lst@LAS#1#2#3#4#5#6#7{% + \lst@Require{#1}{#2}{#3}#4#5% + #4#3% + \@ifundefined{lst#2@\lst@malias$\lst@oalias}% + {\PackageError{Listings}% + {#1 \ifx\@empty\lst@oalias\else \lst@oalias\space of \fi + \lst@malias\space undefined}% + {The #1 is not loadable. \@ehc}}% + {#6\csname\@lst#2@\lst@malias $\lst@oalias\endcsname #7}} +\def\lst@RequireAspects#1{% + \lst@Require{aspect}{asp}{#1}\lst@NoAlias\lstaspectfiles} +\let\lstloadaspects\lst@RequireAspects +\@ifundefined{lstaspectfiles} + {\newcommand\lstaspectfiles{lstmisc0.sty,lstmisc.sty}}{} +\gdef\lst@DefDriver#1#2#3#4{% + \@ifnextchar[{\lst@DefDriver@{#1}{#2}#3#4}% + {\lst@DefDriver@{#1}{#2}#3#4[]}} +\gdef\lst@DefDriver@#1#2#3#4[#5]#6{% + \def\lst@name{#1}\let\lst@if#4% + \lst@NormedDef\lst@driver{\@lst#2@#6$#5}% + \lst@IfRequired[#5]{#6}{\begingroup \lst@true}% + {\begingroup}% + \lst@setcatcodes + \@ifnextchar[{\lst@XDefDriver{#1}#3}{\lst@DefDriver@@#3}} +\gdef\lst@DefDriver@@#1#2{% + \lst@if + \global\@namedef{\lst@driver}{#1{#2}}% + \fi + \endgroup + \@ifnextchar[\lst@XXDefDriver\@empty} +\gdef\lst@XXDefDriver[#1]{% + \ifx\@empty#1\@empty\else + \lst@if + \lstloadaspects{#1}% + \else + \@ifundefined{\lst@driver}{}% + {\xdef\lst@loadaspects{\lst@loadaspects,#1}}% + \fi + \fi} +\gdef\lst@XDefDriver#1#2[#3]#4#5{\lst@DefDriver@@#2{also#1=[#3]#4,#5}} +\let\lst@UserCommand\gdef +\newcommand*\lst@BeginAspect[2][]{% + \def\lst@curraspect{#2}% + \ifx \lst@curraspect\@empty + \expandafter\lst@GobbleAspect + \else + \let\lst@next\@empty + \lst@IfRequired[]{#2}% + {\lst@RequireAspects{#1}% + \lst@if\else \let\lst@next\lst@GobbleAspect \fi}% + {\let\lst@next\lst@GobbleAspect}% + \expandafter\lst@next + \fi} +\def\lst@EndAspect{% + \csname\@lst patch@\lst@curraspect\endcsname + \let\lst@curraspect\@empty} +\long\def\lst@GobbleAspect#1\lst@EndAspect{\let\lst@curraspect\@empty} +\def\lst@Key#1#2{% + \@ifnextchar[{\lstKV@def{#1}{#2}}% + {\def\lst@temp{\lst@Key@{#1}{#2}} + \afterassignment\lst@temp + \global\@namedef{KV@\@lst @#1}####1}} +\def\lstKV@def#1#2[#3]{% + \global\@namedef{KV@\@lst @#1@default\expandafter}\expandafter + {\csname KV@\@lst @#1\endcsname{#3}}% + \def\lst@temp{\lst@Key@{#1}{#2}}\afterassignment\lst@temp + \global\@namedef{KV@\@lst @#1}##1} +\def\lst@Key@#1#2{% + \ifx\relax#2\@empty\else + \begingroup \globaldefs\@ne + \csname KV@\@lst @#1\endcsname{#2}% + \endgroup + \fi} +\def\lst@UseHook#1{\csname\@lst hk@#1\endcsname} +\def\lst@AddToHook{\lst@ATH@\iffalse\lst@AddTo} +\def\lst@AddToHookExe{\lst@ATH@\iftrue\lst@AddTo} +\def\lst@AddToHookAtTop{\lst@ATH@\iffalse\lst@AddToAtTop} +\long\def\lst@ATH@#1#2#3#4{% + \@ifundefined{\@lst hk@#3}{% + \expandafter\gdef\csname\@lst hk@#3\endcsname{}}{}% + \expandafter#2\csname\@lst hk@#3\endcsname{#4}% + \def\lst@temp{#4}% + #1% \iftrue|false + \begingroup \globaldefs\@ne \lst@temp \endgroup + \fi} +\long\def\lst@AddTo#1#2{% + \expandafter\gdef\expandafter#1\expandafter{#1#2}} +\def\lst@AddToAtTop#1#2{\def\lst@temp{#2}% + \expandafter\expandafter\expandafter\gdef + \expandafter\expandafter\expandafter#1% + \expandafter\expandafter\expandafter{\expandafter\lst@temp#1}} +\def\lst@lAddTo#1#2{\expandafter\def\expandafter#1\expandafter{#1#2}} +\def\lst@Extend#1#2{% + \expandafter\lst@AddTo\expandafter#1\expandafter{#2}} +\def\lst@lExtend#1#2{% + \expandafter\lst@lAddTo\expandafter#1\expandafter{#2}} +\RequirePackage{keyval}[1997/11/10] +\def\lstKV@TwoArg#1#2{\gdef\@gtempa##1##2{#2}\@gtempa#1{}{}} +\def\lstKV@ThreeArg#1#2{\gdef\@gtempa##1##2##3{#2}\@gtempa#1{}{}{}} +\def\lstKV@FourArg#1#2{\gdef\@gtempa##1##2##3##4{#2}\@gtempa#1{}{}{}{}} +\def\lstKV@OptArg[#1]#2#3{% + \gdef\@gtempa[##1]##2{#3}\lstKV@OptArg@{#1}#2\@} +\def\lstKV@OptArg@#1{\@ifnextchar[\lstKV@OptArg@@{\lstKV@OptArg@@[#1]}} +\def\lstKV@OptArg@@[#1]#2\@{\@gtempa[#1]{#2}} +\def\lstKV@XOptArg[#1]#2#3{% + \global\let\@gtempa#3\lstKV@OptArg@{#1}#2\@} +\def\lstKV@CSTwoArg#1#2{% + \gdef\@gtempa##1,##2,##3\relax{#2}% + \@gtempa#1,,\relax} +\def\lstKV@SetIf#1{\lstKV@SetIf@#1\relax} +\def\lstKV@SetIf@#1#2\relax#3{\lowercase{% + \expandafter\let\expandafter#3% + \csname if\ifx #1t}true\else false\fi\endcsname} +\def\lstKV@SwitchCases#1#2#3{% + \def\lst@temp##1\\#1&##2\\##3##4\@nil{% + \ifx\@empty##3% + #3% + \else + ##2% + \fi + }% + \lst@temp\\#2\\#1&\\\@empty\@nil} +\lst@UserCommand\lstset{\begingroup \lst@setcatcodes \lstset@} +\def\lstset@#1{\endgroup \ifx\@empty#1\@empty\else\setkeys{lst}{#1}\fi} +\def\lst@setcatcodes{\makeatletter \catcode`\==12\relax} +\def\lst@NewMode#1{% + \ifx\@undefined#1% + \lst@mode\lst@newmode\relax \advance\lst@mode\@ne + \xdef\lst@newmode{\the\lst@mode}% + \global\chardef#1=\lst@mode + \lst@mode\lst@nomode + \fi} +\newcount\lst@mode +\def\lst@newmode{\m@ne}% init +\lst@NewMode\lst@nomode % init (of \lst@mode :-) +\def\lst@UseDynamicMode{% + \@tempcnta\lst@dynamicmode\relax \advance\@tempcnta\@ne + \edef\lst@dynamicmode{\the\@tempcnta}% + \expandafter\lst@Swap\expandafter{\expandafter{\lst@dynamicmode}}} +\lst@AddToHook{InitVars}{\let\lst@dynamicmode\lst@newmode} +\def\lst@EnterMode#1#2{% + \bgroup \lst@mode=#1\relax #2% + \lst@FontAdjust + \lst@lAddTo\lst@entermodes{\lst@EnterMode{#1}{#2}}} +\lst@AddToHook{InitVars}{\let\lst@entermodes\@empty} +\let\lst@entermodes\@empty % init +\def\lst@LeaveMode{% + \ifnum\lst@mode=\lst@nomode\else + \egroup \expandafter\lsthk@EndGroup + \fi} +\lst@AddToHook{EndGroup}{}% init +\def\lst@InterruptModes{% + \lst@Extend\lst@modestack{\expandafter{\lst@entermodes}}% + \lst@LeaveAllModes} +\lst@AddToHook{InitVars}{\global\let\lst@modestack\@empty} +\def\lst@ReenterModes{% + \ifx\lst@modestack\@empty\else + \lst@LeaveAllModes + \global\let\@gtempa\lst@modestack + \global\let\lst@modestack\@empty + \expandafter\lst@ReenterModes@\@gtempa\relax + \fi} +\def\lst@ReenterModes@#1#2{% + \ifx\relax#2\@empty + \gdef\@gtempa##1{#1}% + \expandafter\@gtempa + \else + \lst@AddTo\lst@modestack{{#1}}% + \expandafter\lst@ReenterModes@ + \fi + {#2}} +\def\lst@LeaveAllModes{% + \ifnum\lst@mode=\lst@nomode + \expandafter\lsthk@EndGroup + \else + \expandafter\egroup\expandafter\lst@LeaveAllModes + \fi} +\lst@AddToHook{ExitVars}{\lst@LeaveAllModes} +\lst@NewMode\lst@Pmode +\lst@NewMode\lst@GPmode +\def\lst@modetrue{\let\lst@ifmode\iftrue \lsthk@ModeTrue} +\let\lst@ifmode\iffalse % init +\lst@AddToHook{ModeTrue}{}% init +\def\lst@Lmodetrue{\let\lst@ifLmode\iftrue} +\let\lst@ifLmode\iffalse % init +\lst@AddToHook{EOL}{\@whilesw \lst@ifLmode\fi \lst@LeaveMode} +\def\lst@NormedDef#1#2{\lowercase{\edef#1{\zap@space#2 \@empty}}} +\def\lst@NormedNameDef#1#2{% + \lowercase{\edef\lst@temp{\zap@space#1 \@empty}% + \expandafter\xdef\csname\lst@temp\endcsname{\zap@space#2 \@empty}}} +\def\lst@GetFreeMacro#1{% + \@tempcnta\z@ \def\lst@freemacro{#1\the\@tempcnta}% + \lst@GFM@} +\def\lst@GFM@{% + \expandafter\ifx \csname\lst@freemacro\endcsname \relax + \edef\lst@freemacro{\csname\lst@freemacro\endcsname}% + \else + \advance\@tempcnta\@ne + \expandafter\lst@GFM@ + \fi} +\newbox\lst@gtempboxa +\newtoks\lst@token \newcount\lst@length +\def\lst@ResetToken{\lst@token{}\lst@length\z@} +\lst@AddToHook{InitVarsBOL}{\lst@ResetToken \let\lst@lastother\@empty} +\lst@AddToHook{EndGroup}{\lst@ResetToken \let\lst@lastother\@empty} +\def\lst@lettertrue{\let\lst@ifletter\iftrue} +\def\lst@letterfalse{\let\lst@ifletter\iffalse} +\lst@AddToHook{InitVars}{\lst@letterfalse} +\def\lst@Append#1{\advance\lst@length\@ne + \lst@token=\expandafter{\the\lst@token#1}} +\def\lst@AppendOther{% + \lst@ifletter \lst@Output\lst@letterfalse \fi + \futurelet\lst@lastother\lst@Append} +\def\lst@AppendLetter{% + \lst@ifletter\else \lst@OutputOther\lst@lettertrue \fi + \lst@Append} +\def\lst@SaveToken{% + \global\let\lst@gthestyle\lst@thestyle + \global\let\lst@glastother\lst@lastother + \xdef\lst@RestoreToken{\noexpand\lst@token{\the\lst@token}% + \noexpand\lst@length\the\lst@length\relax + \noexpand\let\noexpand\lst@thestyle + \noexpand\lst@gthestyle + \noexpand\let\noexpand\lst@lastother + \noexpand\lst@glastother}} +\def\lst@IfLastOtherOneOf#1{\lst@IfLastOtherOneOf@ #1\relax} +\def\lst@IfLastOtherOneOf@#1{% + \ifx #1\relax + \expandafter\@secondoftwo + \else + \ifx\lst@lastother#1% + \lst@IfLastOtherOneOf@t + \else + \expandafter\expandafter\expandafter\lst@IfLastOtherOneOf@ + \fi + \fi} +\def\lst@IfLastOtherOneOf@t#1\fi\fi#2\relax{\fi\fi\@firstoftwo} +\newdimen\lst@currlwidth % \global +\newcount\lst@column \newcount\lst@pos % \global +\lst@AddToHook{InitVarsBOL} + {\global\lst@currlwidth\z@ \global\lst@pos\z@ \global\lst@column\z@} +\def\lst@CalcColumn{% + \@tempcnta\lst@column + \advance\@tempcnta\lst@length + \advance\@tempcnta-\lst@pos} +\newdimen\lst@lostspace % \global +\lst@AddToHook{InitVarsBOL}{\global\lst@lostspace\z@} +\def\lst@UseLostSpace{\ifdim\lst@lostspace>\z@ \lst@InsertLostSpace \fi} +\def\lst@InsertLostSpace{% + \lst@Kern\lst@lostspace \global\lst@lostspace\z@} +\def\lst@InsertHalfLostSpace{% + \global\lst@lostspace.5\lst@lostspace \lst@Kern\lst@lostspace} +\newdimen\lst@width +\lst@Key{basewidth}{0.6em,0.45em}{\lstKV@CSTwoArg{#1}% + {\def\lst@widthfixed{##1}\def\lst@widthflexible{##2}% + \ifx\lst@widthflexible\@empty + \let\lst@widthflexible\lst@widthfixed + \fi + \def\lst@temp{\PackageError{Listings}% + {Negative value(s) treated as zero}% + \@ehc}% + \let\lst@error\@empty + \ifdim \lst@widthfixed<\z@ + \let\lst@error\lst@temp \let\lst@widthfixed\z@ + \fi + \ifdim \lst@widthflexible<\z@ + \let\lst@error\lst@temp \let\lst@widthflexible\z@ + \fi + \lst@error}} +\lst@AddToHook{FontAdjust} + {\lst@width=\lst@ifflexible\lst@widthflexible + \else\lst@widthfixed\fi \relax} +\lst@Key{fontadjust}{false}[t]{\lstKV@SetIf{#1}\lst@iffontadjust} +\def\lst@FontAdjust{\lst@iffontadjust \lsthk@FontAdjust \fi} +\lst@AddToHook{InitVars}{\lsthk@FontAdjust} +\def\lst@OutputBox#1{\lst@alloverstyle{\box#1}} +\def\lst@alloverstyle#1{#1}% init +\def\lst@Kern#1{% + \setbox\z@\hbox{{\lst@currstyle{\kern#1}}}% + \global\advance\lst@currlwidth \wd\z@ + \lst@OutputBox\z@} +\def\lst@CalcLostSpaceAndOutput{% + \global\advance\lst@lostspace \lst@length\lst@width + \global\advance\lst@lostspace-\wd\@tempboxa + \global\advance\lst@currlwidth \wd\@tempboxa + \global\advance\lst@pos -\lst@length + \setbox\@tempboxa\hbox{\let\lst@OutputBox\box + \ifdim\lst@lostspace>\z@ \lst@leftinsert \fi + \box\@tempboxa + \ifdim\lst@lostspace>\z@ \lst@rightinsert \fi}% + \lst@OutputBox\@tempboxa \lsthk@PostOutput} +\lst@AddToHook{PostOutput}{}% init +\def\lst@OutputToken{% + \lst@TrackNewLines \lst@OutputLostSpace + \lst@ifgobbledws + \lst@gobbledwhitespacefalse + \lst@@discretionary + \fi + \lst@CheckMerge + {\lst@thestyle{\lst@FontAdjust + \setbox\@tempboxa\lst@hbox + {\lsthk@OutputBox + \lst@lefthss + \expandafter\lst@FillOutputBox\the\lst@token\@empty + \lst@righthss}% + \lst@CalcLostSpaceAndOutput}}% + \lst@ResetToken} +\lst@AddToHook{OutputBox}{}% init +\def\lst@gobbledwhitespacetrue{\global\let\lst@ifgobbledws\iftrue} +\def\lst@gobbledwhitespacefalse{\global\let\lst@ifgobbledws\iffalse} +\lst@AddToHookExe{InitBOL}{\lst@gobbledwhitespacefalse}% init +\def\lst@Delay#1{% + \lst@CheckDelay + #1% + \lst@GetOutputMacro\lst@delayedoutput + \edef\lst@delayed{\the\lst@token}% + \edef\lst@delayedlength{\the\lst@length}% + \lst@ResetToken} +\def\lst@Merge#1{% + \lst@CheckMerge + #1% + \edef\lst@merged{\the\lst@token}% + \edef\lst@mergedlength{\the\lst@length}% + \lst@ResetToken} +\def\lst@MergeToken#1#2{% + \advance\lst@length#2% + \lst@lExtend#1{\the\lst@token}% + \expandafter\lst@token\expandafter{#1}% + \let#1\@empty} +\def\lst@CheckDelay{% + \ifx\lst@delayed\@empty\else + \lst@GetOutputMacro\@gtempa + \ifx\lst@delayedoutput\@gtempa + \lst@MergeToken\lst@delayed\lst@delayedlength + \else + {\lst@ResetToken + \lst@MergeToken\lst@delayed\lst@delayedlength + \lst@delayedoutput}% + \let\lst@delayed\@empty + \fi + \fi} +\def\lst@CheckMerge{% + \ifx\lst@merged\@empty\else + \lst@MergeToken\lst@merged\lst@mergedlength + \fi} +\let\lst@delayed\@empty % init +\let\lst@merged\@empty % init +\def\lst@column@fixed{% + \lst@flexiblefalse + \lst@width\lst@widthfixed\relax + \let\lst@OutputLostSpace\lst@UseLostSpace + \let\lst@FillOutputBox\lst@FillFixed + \let\lst@hss\hss + \def\lst@hbox{\hbox to\lst@length\lst@width}} +\def\lst@FillFixed#1{#1\lst@FillFixed@} +\def\lst@FillFixed@#1{% + \ifx\@empty#1\else \lst@hss#1\expandafter\lst@FillFixed@ \fi} +\def\lst@column@flexible{% + \lst@flexibletrue + \lst@width\lst@widthflexible\relax + \let\lst@OutputLostSpace\lst@UseLostSpace + \let\lst@FillOutputBox\@empty + \let\lst@hss\@empty + \let\lst@hbox\hbox} +\def\lst@column@fullflexible{% + \lst@column@flexible + \def\lst@OutputLostSpace{\lst@ifnewline \lst@UseLostSpace\fi}% + \let\lst@leftinsert\@empty + \let\lst@rightinsert\@empty} +\def\lst@outputpos#1#2\relax{% + \def\lst@lefthss{\lst@hss}\let\lst@righthss\lst@lefthss + \let\lst@rightinsert\lst@InsertLostSpace + \ifx #1c% + \let\lst@leftinsert\lst@InsertHalfLostSpace + \else\ifx #1r% + \let\lst@righthss\@empty + \let\lst@leftinsert\lst@InsertLostSpace + \let\lst@rightinsert\@empty + \else + \let\lst@lefthss\@empty + \let\lst@leftinsert\@empty + \ifx #1l\else \PackageWarning{Listings}% + {Unknown positioning for output boxes}% + \fi + \fi\fi} +\def\lst@flexibletrue{\let\lst@ifflexible\iftrue} +\def\lst@flexiblefalse{\let\lst@ifflexible\iffalse} +\lst@Key{columns}{[c]fixed}{\lstKV@OptArg[]{#1}{% + \ifx\@empty##1\@empty\else \lst@outputpos##1\relax\relax \fi + \expandafter\let\expandafter\lst@arg + \csname\@lst @column@##2\endcsname + \lst@arg + \ifx\lst@arg\relax + \PackageWarning{Listings}{Unknown column format `##2'}% + \else + \lst@ifflexible + \let\lst@columnsflexible\lst@arg + \else + \let\lst@columnsfixed\lst@arg + \fi + \fi}} +\let\lst@columnsfixed\lst@column@fixed % init +\let\lst@columnsflexible\lst@column@flexible % init +\lst@Key{flexiblecolumns}\relax[t]{% + \lstKV@SetIf{#1}\lst@ifflexible + \lst@ifflexible \lst@columnsflexible + \else \lst@columnsfixed \fi} +\newcount\lst@newlines +\lst@AddToHook{InitVars}{\global\lst@newlines\z@} +\lst@AddToHook{InitVarsBOL}{\global\advance\lst@newlines\@ne} +\def\lst@NewLine{% + \ifx\lst@OutputBox\@gobble\else + \par\noindent \hbox{}% + \fi + \global\advance\lst@newlines\m@ne + \lst@newlinetrue} +\def\lst@newlinetrue{\global\let\lst@ifnewline\iftrue} +\lst@AddToHookExe{PostOutput}{\global\let\lst@ifnewline\iffalse}% init +\def\lst@TrackNewLines{% + \ifnum\lst@newlines>\z@ + \lsthk@OnNewLine + \lst@DoNewLines + \fi} +\lst@AddToHook{OnNewLine}{}% init +\lst@Key{emptylines}\maxdimen{% + \@ifstar{\lst@true\@tempcnta\@gobble#1\relax\lst@GobbleNil}% + {\lst@false\@tempcnta#1\relax\lst@GobbleNil}#1\@nil + \advance\@tempcnta\@ne + \edef\lst@maxempty{\the\@tempcnta\relax}% + \let\lst@ifpreservenumber\lst@if} +\def\lst@DoNewLines{ + \@whilenum\lst@newlines>\lst@maxempty \do + {\lst@ifpreservenumber + \lsthk@OnEmptyLine + \global\advance\c@lstnumber\lst@advancelstnum + \fi + \global\advance\lst@newlines\m@ne}% + \@whilenum \lst@newlines>\@ne \do + {\lsthk@OnEmptyLine \lst@NewLine}% + \ifnum\lst@newlines>\z@ \lst@NewLine \fi} +\lst@AddToHook{OnEmptyLine}{}% init +\lst@Key{identifierstyle}{}{\def\lst@identifierstyle{#1}} +\lst@AddToHook{EmptyStyle}{\let\lst@identifierstyle\@empty} +\def\lst@GotoTabStop{% + \ifnum\lst@newlines=\z@ + \setbox\@tempboxa\hbox{\lst@outputspace}% + \setbox\@tempboxa\hbox to\wd\@tempboxa{{\lst@currstyle{\hss}}}% + \lst@CalcLostSpaceAndOutput + \else + \global\advance\lst@lostspace \lst@length\lst@width + \global\advance\lst@column\lst@length \lst@length\z@ + \fi} +\def\lst@OutputOther{% + \lst@CheckDelay + \ifnum\lst@length=\z@\else + \let\lst@thestyle\lst@currstyle + \lsthk@OutputOther + \lst@OutputToken + \fi} +\lst@AddToHook{OutputOther}{}% init +\let\lst@currstyle\relax % init +\def\lst@Output{% + \lst@CheckDelay + \ifnum\lst@length=\z@\else + \ifx\lst@currstyle\relax + \let\lst@thestyle\lst@identifierstyle + \else + \let\lst@thestyle\lst@currstyle + \fi + \lsthk@Output + \lst@OutputToken + \fi + \let\lst@lastother\relax} +\lst@AddToHook{Output}{}% init +\def\lst@GetOutputMacro#1{% + \lst@ifletter \global\let#1\lst@Output + \else \global\let#1\lst@OutputOther\fi} +\def\lst@PrintToken{% + \lst@ifletter \lst@Output \lst@letterfalse + \else \lst@OutputOther \let\lst@lastother\@empty \fi} +\def\lst@XPrintToken{% + \lst@PrintToken \lst@CheckMerge + \ifnum\lst@length=\z@\else \lst@PrintToken \fi} +\def\lst@BeginDropOutput#1{% + \xdef\lst@BDOnewlines{\the\lst@newlines}% + \global\let\lst@BDOifnewline\lst@ifnewline + \lst@EnterMode{#1}% + {\lst@modetrue + \let\lst@OutputBox\@gobble + \aftergroup\lst@BDORestore}} +\def\lst@BDORestore{% + \global\lst@newlines\lst@BDOnewlines + \global\let\lst@ifnewline\lst@BDOifnewline} +\let\lst@EndDropOutput\lst@LeaveMode +\def\lst@ProcessLetter{\lst@whitespacefalse \lst@AppendLetter} +\def\lst@ProcessOther{\lst@whitespacefalse \lst@AppendOther} +\def\lst@ProcessDigit{% + \lst@whitespacefalse + \lst@ifletter \expandafter\lst@AppendLetter + \else \expandafter\lst@AppendOther\fi} +\def\lst@whitespacetrue{\global\let\lst@ifwhitespace\iftrue} +\def\lst@whitespacefalse{\global\let\lst@ifwhitespace\iffalse} +\lst@AddToHook{InitVarsBOL}{\lst@whitespacetrue} +\lst@Key{tabsize}{8} + {\ifnum#1>\z@ \def\lst@tabsize{#1}\else + \PackageError{Listings}{Strict positive integer expected}% + {You can't use `#1' as tabsize. \@ehc}% + \fi} +\lst@Key{showtabs}f[t]{\lstKV@SetIf{#1}\lst@ifshowtabs} +\lst@Key{tab}{\kern.06em\hbox{\vrule\@height.3ex}% + \hrulefill\hbox{\vrule\@height.3ex}} + {\def\lst@tab{#1}} +\def\lst@ProcessTabulator{% + \lst@XPrintToken \lst@whitespacetrue + \global\advance\lst@column -\lst@pos + \@whilenum \lst@pos<\@ne \do + {\global\advance\lst@pos\lst@tabsize}% + \lst@length\lst@pos + \lst@PreGotoTabStop} +\def\lst@PreGotoTabStop{% + \lst@ifshowtabs + \lst@TrackNewLines + \setbox\@tempboxa\hbox to\lst@length\lst@width + {{\lst@currstyle{\hss\lst@tab}}}% + \lst@CalcLostSpaceAndOutput + \else + \lst@ifkeepspaces + \@tempcnta\lst@length \lst@length\z@ + \@whilenum \@tempcnta>\z@ \do + {\lst@AppendOther\lst@outputspace + \advance\@tempcnta\m@ne}% + \lst@OutputOther + \else + \lst@GotoTabStop + \fi + \fi + \lst@length\z@ \global\lst@pos\z@} +\def\lst@outputspace{\ } +\def\lst@visiblespace{\lst@ttfamily{\char32}\textvisiblespace} +\lst@Key{showspaces}{false}[t]{\lstKV@SetIf{#1}\lst@ifshowspaces} +\lst@Key{keepspaces}{false}[t]{\lstKV@SetIf{#1}\lst@ifkeepspaces} +\lst@AddToHook{Init} + {\lst@ifshowspaces + \let\lst@outputspace\lst@visiblespace + \lst@keepspacestrue + \fi} +\def\lst@keepspacestrue{\let\lst@ifkeepspaces\iftrue} +\def\lst@ProcessSpace{% + \lst@ifkeepspaces + \lst@whitespacetrue + \lst@PrintToken + \lst@AppendOther\lst@outputspace + \lst@PrintToken + \else \ifnum\lst@newlines=\z@ + \lst@AppendSpecialSpace + \else \ifnum\lst@length=\z@ + \global\advance\lst@lostspace\lst@width + \global\advance\lst@pos\m@ne + \lst@whitespacetrue + \else + \lst@AppendSpecialSpace + \fi + \fi \fi} +\def\lst@AppendSpecialSpace{% + \lst@ifwhitespace + \lst@PrintToken + \global\advance\lst@lostspace\lst@width + \global\advance\lst@pos\m@ne + \lst@gobbledwhitespacetrue + \else + \lst@whitespacetrue + \lst@PrintToken + \lst@AppendOther\lst@outputspace + \lst@PrintToken + \fi} +\lst@Key{formfeed}{\bigbreak}{\def\lst@formfeed{#1}} +\def\lst@ProcessFormFeed{% + \lst@XPrintToken + \ifnum\lst@newlines=\z@ + \lst@EOLUpdate \lsthk@InitVarsBOL + \fi + \lst@formfeed + \lst@whitespacetrue} +\def\lst@Def#1{\lccode`\~=#1\lowercase{\def~}} +\def\lst@Let#1{\lccode`\~=#1\lowercase{\let~}} +\lst@AddToAtTop{\try@load@fontshape}{\def\space{ }} +\def\lst@SelectStdCharTable{% + \lst@Def{9}{\lst@ProcessTabulator}% + \lst@Def{12}{\lst@ProcessFormFeed}% + \lst@Def{32}{\lst@ProcessSpace}} +\def\lst@CCPut#1#2{% + \ifnum#2=\z@ + \expandafter\@gobbletwo + \else + \lccode`\~=#2\lccode`\/=#2\lowercase{\lst@CCPut@~{#1/}}% + \fi + \lst@CCPut#1} +\def\lst@CCPut@#1#2{\lst@lAddTo\lst@SelectStdCharTable{\def#1{#2}}} +\lst@CCPut \lst@ProcessOther + {"21}{"22}{"28}{"29}{"2B}{"2C}{"2E}{"2F} + {"3A}{"3B}{"3D}{"3F}{"5B}{"5D} + \z@ +\lst@CCPut \lst@ProcessDigit + {"30}{"31}{"32}{"33}{"34}{"35}{"36}{"37}{"38}{"39} + \z@ +\lst@CCPut \lst@ProcessLetter + {"40}{"41}{"42}{"43}{"44}{"45}{"46}{"47} + {"48}{"49}{"4A}{"4B}{"4C}{"4D}{"4E}{"4F} + {"50}{"51}{"52}{"53}{"54}{"55}{"56}{"57} + {"58}{"59}{"5A} + {"61}{"62}{"63}{"64}{"65}{"66}{"67} + {"68}{"69}{"6A}{"6B}{"6C}{"6D}{"6E}{"6F} + {"70}{"71}{"72}{"73}{"74}{"75}{"76}{"77} + {"78}{"79}{"7A} + \z@ +\def\lst@CCPutMacro#1#2#3{% + \ifnum#2=\z@ \else + \begingroup\lccode`\~=#2\relax \lccode`\/=#2\relax + \lowercase{\endgroup\expandafter\lst@CCPutMacro@ + \csname\@lst @um/\expandafter\endcsname + \csname\@lst @um/@\endcsname /~}#1{#3}% + \expandafter\lst@CCPutMacro + \fi} +\def\lst@CCPutMacro@#1#2#3#4#5#6{% + \lst@lAddTo\lst@SelectStdCharTable{\def#4{#5#1}}% + \def#1{\lst@UM#3}% + \def#2{#6}} +\def\lst@UM#1{\csname\@lst @um#1@\endcsname} +\lst@CCPutMacro + \lst@ProcessOther {"23}\# + \lst@ProcessLetter{"24}\textdollar + \lst@ProcessOther {"25}\% + \lst@ProcessOther {"26}\& + \lst@ProcessOther {"27}{\lst@ifupquote \textquotesingle + \else \char39\relax \fi} + \lst@ProcessOther {"2A}{\lst@ttfamily*\textasteriskcentered} + \lst@ProcessOther {"2D}{\lst@ttfamily{-{}}{$-$}} + \lst@ProcessOther {"3C}{\lst@ttfamily<\textless} + \lst@ProcessOther {"3E}{\lst@ttfamily>\textgreater} + \lst@ProcessOther {"5C}{\lst@ttfamily{\char92}\textbackslash} + \lst@ProcessOther {"5E}\textasciicircum + \lst@ProcessLetter{"5F}{\lst@ttfamily{\char95}\textunderscore} + \lst@ProcessOther {"60}{\lst@ifupquote \textasciigrave + \else \char96\relax \fi} + \lst@ProcessOther {"7B}{\lst@ttfamily{\char123}\textbraceleft} + \lst@ProcessOther {"7C}{\lst@ttfamily|\textbar} + \lst@ProcessOther {"7D}{\lst@ttfamily{\char125}\textbraceright} + \lst@ProcessOther {"7E}\textasciitilde + \lst@ProcessOther {"7F}- + \@empty\z@\@empty +\def\lst@ttfamily#1#2{\ifx\f@family\ttdefault#1\relax\else#2\fi} +\lst@AddToHook{Init}{\edef\ttdefault{\ttdefault}} +\lst@Key{upquote}{false}[t]{\lstKV@SetIf{#1}\lst@ifupquote + \lst@ifupquote + \@ifundefined{textasciigrave}% + {\let\KV@lst@upquote\@gobble + \lstKV@SetIf f\lst@ifupquote \@gobble\fi + \PackageError{Listings}{Option `upquote' requires `textcomp' + package.\MessageBreak The option has been disabled}% + {Add \string\usepackage{textcomp} to your preamble.}}% + {}% + \fi} +\AtBeginDocument{% + \@ifpackageloaded{upquote}{\RequirePackage{textcomp}% + \lstset{upquote}}{}% + \@ifpackageloaded{upquote2}{\lstset{upquote}}{}} +\def\lst@activecharstrue{\let\lst@ifactivechars\iftrue} +\def\lst@activecharsfalse{\let\lst@ifactivechars\iffalse} +\lst@activecharstrue +\def\lst@SelectCharTable{% + \lst@SelectStdCharTable + \lst@ifactivechars + \catcode9\active \catcode12\active \catcode13\active + \@tempcnta=32\relax + \@whilenum\@tempcnta<128\do + {\catcode\@tempcnta\active\advance\@tempcnta\@ne}% + \fi + \lst@ifec \lst@DefEC \fi + \let\do\lst@do@noligs \verbatim@nolig@list + \lsthk@SelectCharTable + \lst@DeveloperSCT +\lst@DefRange + \ifx\lst@Backslash\relax\else + \lst@LetSaveDef{"5C}\lsts@backslash\lst@Backslash + \fi} +\lst@Key{SelectCharTable}{}{\def\lst@DeveloperSCT{#1}} +\lst@Key{MoreSelectCharTable}\relax{\lst@lAddTo\lst@DeveloperSCT{#1}} +\lst@AddToHook{SetLanguage}{\let\lst@DeveloperSCT\@empty} +\def\lst@do@noligs#1{% + \begingroup \lccode`\~=`#1\lowercase{\endgroup + \lst@do@noligs@~}} +\def\lst@do@noligs@#1{% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter#1% + \expandafter\expandafter\expandafter{\expandafter\lst@NoLig#1}} +\def\lst@NoLig{\advance\lst@length\m@ne \lst@Append\lst@nolig} +\def\lst@nolig{\lst@UM\@empty}% +\@namedef{\@lst @um@}{\leavevmode\kern\z@} +\def\lst@SaveOutputDef#1#2{% + \begingroup \lccode`\~=#1\relax \lowercase{\endgroup + \def\lst@temp##1\def~##2##3\relax}{% + \global\expandafter\let\expandafter#2\@gobble##2\relax}% + \expandafter\lst@temp\lst@SelectStdCharTable\relax} +\lst@SaveOutputDef{"5C}\lstum@backslash +\lst@Key{extendedchars}{true}[t]{\lstKV@SetIf{#1}\lst@ifec} +\def\lst@DefEC{% + \lst@CCECUse \lst@ProcessLetter + ^^80^^81^^82^^83^^84^^85^^86^^87^^88^^89^^8a^^8b^^8c^^8d^^8e^^8f% + ^^90^^91^^92^^93^^94^^95^^96^^97^^98^^99^^9a^^9b^^9c^^9d^^9e^^9f% + ^^a0^^a1^^a2^^a3^^a4^^a5^^a6^^a7^^a8^^a9^^aa^^ab^^ac^^ad^^ae^^af% + ^^b0^^b1^^b2^^b3^^b4^^b5^^b6^^b7^^b8^^b9^^ba^^bb^^bc^^bd^^be^^bf% + ^^c0^^c1^^c2^^c3^^c4^^c5^^c6^^c7^^c8^^c9^^ca^^cb^^cc^^cd^^ce^^cf% + ^^d0^^d1^^d2^^d3^^d4^^d5^^d6^^d7^^d8^^d9^^da^^db^^dc^^dd^^de^^df% + ^^e0^^e1^^e2^^e3^^e4^^e5^^e6^^e7^^e8^^e9^^ea^^eb^^ec^^ed^^ee^^ef% + ^^f0^^f1^^f2^^f3^^f4^^f5^^f6^^f7^^f8^^f9^^fa^^fb^^fc^^fd^^fe^^ff% + ^^00} +\def\lst@CCECUse#1#2{% + \ifnum`#2=\z@ + \expandafter\@gobbletwo + \else + \ifnum\catcode`#2=\active + \lccode`\~=`#2\lccode`\/=`#2\lowercase{\lst@CCECUse@#1~/}% + \else + \lst@ifactivechars \catcode`#2=\active \fi + \lccode`\~=`#2\lccode`\/=`#2\lowercase{\def~{#1/}}% + \fi + \fi + \lst@CCECUse#1} +\def\lst@CCECUse@#1#2#3{% + \expandafter\def\csname\@lst @EC#3\endcsname{\lst@UM#3}% + \expandafter\let\csname\@lst @um#3@\endcsname #2% + \edef#2{\noexpand#1% + \expandafter\noexpand\csname\@lst @EC#3\endcsname}} +\lst@AddToHook{Init} + {\let\lsts@nfss@catcodes\nfss@catcodes + \let\nfss@catcodes\lst@nfss@catcodes} +\def\lst@nfss@catcodes{% + \lst@makeletter + ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\relax + \@makeother (\@makeother )\@makeother ,\@makeother :\@makeother\&% + \@makeother 0\@makeother 1\@makeother 2\@makeother 3\@makeother 4% + \@makeother 5\@makeother 6\@makeother 7\@makeother 8\@makeother 9% + \@makeother =\lsts@nfss@catcodes} +\def\lst@makeletter#1{% + \ifx\relax#1\else\catcode`#111\relax \expandafter\lst@makeletter\fi} +\lst@Key{useoutput}{2}{\edef\lst@useoutput{\ifcase#10 0\or 1\else 2\fi}} +\lst@AddToHook{Init} +{\edef\lst@OrgOutput{\the\output}% +\ifcase\lst@useoutput\relax +\or + \output{\global\setbox\lst@gtempboxa\box\@cclv + \expandafter\egroup + \lst@SaveToken + \lst@InterruptModes + \setbox\@cclv\box\lst@gtempboxa + \bgroup\lst@OrgOutput\egroup + \bgroup + \aftergroup\pagegoal\aftergroup\vsize + \aftergroup\lst@ReenterModes\aftergroup\lst@RestoreToken}% +\else + \output{\lst@RestoreOrigCatcodes + \lst@ifec \lst@RestoreOrigExtendedCatcodes \fi + \lst@OrgOutput}% +\fi} +\def\lst@GetChars#1#2#3{% + \let#1\@empty + \@tempcnta#2\relax \@tempcntb#3\relax + \loop \ifnum\@tempcnta<\@tempcntb\relax + \lst@lExtend#1{\expandafter\catcode\the\@tempcnta=}% + \lst@lExtend#1{\the\catcode\@tempcnta\relax}% + \ifnum\the\catcode\@tempcnta=\active + \begingroup\lccode`\~=\@tempcnta + \lowercase{\endgroup + \lst@lExtend#1{\expandafter\let\expandafter~\csname + lstecs@\the\@tempcnta\endcsname}% + \expandafter\let\csname lstecs@\the\@tempcnta\endcsname~}% + \fi + \advance\@tempcnta\@ne + \repeat} +\def\lst@ScanChars{% + \lst@GetChars\lst@RestoreOrigCatcodes\@ne {128}% + \lst@GetChars\lst@RestoreOrigExtendedCatcodes{128}{256}} +\lst@Key{rescanchars}\relax{\lst@ScanChars} +\AtBeginDocument{\lst@ScanChars} +\lst@Key{alsoletter}\relax{% + \lst@DoAlso{#1}\lst@alsoletter\lst@ProcessLetter} +\lst@Key{alsodigit}\relax{% + \lst@DoAlso{#1}\lst@alsodigit\lst@ProcessDigit} +\lst@Key{alsoother}\relax{% + \lst@DoAlso{#1}\lst@alsoother\lst@ProcessOther} +\lst@AddToHook{SelectCharTable} + {\lst@alsoother \lst@alsodigit \lst@alsoletter} +\lst@AddToHookExe{SetLanguage}% init + {\let\lst@alsoletter\@empty + \let\lst@alsodigit\@empty + \let\lst@alsoother\@empty} +\def\lst@DoAlso#1#2#3{% + \lst@DefOther\lst@arg{#1}\let#2\@empty + \expandafter\lst@DoAlso@\expandafter#2\expandafter#3\lst@arg\relax} +\def\lst@DoAlso@#1#2#3{% + \ifx\relax#3\expandafter\@gobblethree \else + \begingroup \lccode`\~=`#3\relax \lowercase{\endgroup + \def\lst@temp##1\def~##2##3\relax{% + \edef\lst@arg{\def\noexpand~{\noexpand#2\expandafter + \noexpand\@gobble##2}}}}% + \expandafter\lst@temp\lst@SelectStdCharTable\relax + \lst@lExtend#1{\lst@arg}% + \fi + \lst@DoAlso@#1#2} +\def\lst@SaveDef#1#2{% + \begingroup \lccode`\~=#1\relax \lowercase{\endgroup\let#2~}} +\def\lst@DefSaveDef#1#2{% + \begingroup \lccode`\~=#1\relax \lowercase{\endgroup\let#2~\def~}} +\def\lst@LetSaveDef#1#2{% + \begingroup \lccode`\~=#1\relax \lowercase{\endgroup\let#2~\let~}} +\def\lst@CDef#1{\lst@CDef@#1} +\def\lst@CDef@#1#2#3#4{\lst@CDefIt#1{#2}{#3}{#4#2#3}#4} +\def\lst@CDefX#1{\lst@CDefX@#1} +\def\lst@CDefX@#1#2#3{\lst@CDefIt#1{#2}{#3}{}} +\def\lst@CDefIt#1#2#3#4#5#6#7#8{% + \ifx\@empty#2\@empty + \def#1{#6\def\lst@next{#7#4#8}\lst@next}% + \else \ifx\@empty#3\@empty + \def#1##1{% + #6% + \ifx##1#2\def\lst@next{#7#4#8}\else + \def\lst@next{#5##1}\fi + \lst@next}% + \else + \def#1{% + #6% + \lst@IfNextCharsArg{#2#3}{#7#4#8}% + {\expandafter#5\lst@eaten}}% + \fi \fi} +\def\lst@CArgX#1#2\relax{% + \lst@DefActive\lst@arg{#1#2}% + \expandafter\lst@CArg\lst@arg\relax} +\def\lst@CArg#1#2\relax{% + \lccode`\/=`#1\lowercase{\def\lst@temp{/}}% + \lst@GetFreeMacro{lst@c\lst@temp}% + \expandafter\lst@CArg@\lst@freemacro#1#2\@empty\@empty\relax} +\def\lst@CArg@#1#2#3#4\@empty#5\relax#6{% + \let#1#2% + \ifx\@empty#3\@empty + \def\lst@next{#6{#2{}{}}}% + \else + \def\lst@next{#6{#2#3{#4}}}% + \fi + \lst@next #1} +\def\lst@CArgEmpty#1\@empty{#1} +\lst@Key{excludedelims}\relax + {\lsthk@ExcludeDelims \lst@NormedDef\lst@temp{#1}% + \expandafter\lst@for\lst@temp\do + {\expandafter\let\csname\@lst @ifex##1\endcsname\iftrue}} +\def\lst@DelimPrint#1#2{% + #1% + \begingroup + \lst@mode\lst@nomode \lst@modetrue + #2\lst@XPrintToken + \endgroup + \lst@ResetToken + \fi} +\def\lst@DelimOpen#1#2#3#4#5#6\@empty{% + \lst@TrackNewLines \lst@XPrintToken + \lst@DelimPrint#1{#6}% + \lst@EnterMode{#4}{\def\lst@currstyle#5}% + \lst@DelimPrint{#1#2}{#6}% + #3} +\def\lst@DelimClose#1#2#3\@empty{% + \lst@TrackNewLines \lst@XPrintToken + \lst@DelimPrint{#1#2}{#3}% + \lst@LeaveMode + \lst@DelimPrint{#1}{#3}} +\def\lst@BeginDelim{\lst@DelimOpen\iffalse\else{}} +\def\lst@EndDelim{\lst@DelimClose\iffalse\else} +\def\lst@BeginIDelim{\lst@DelimOpen\iffalse{}{}} +\def\lst@EndIDelim{\lst@DelimClose\iffalse{}} +\lst@AddToHook{SelectCharTable}{\lst@DefDelims} +\lst@AddToHookExe{SetLanguage}{\let\lst@DefDelims\@empty} +\def\lst@Delim#1{% + \lst@false \let\lst@cumulative\@empty \let\lst@arg\@empty + \@ifstar{\@ifstar{\lst@Delim@{#1}}% + {\let\lst@cumulative\relax + \lst@Delim@{#1}}}% + {\lst@true\lst@Delim@{#1}}} +\def\lst@Delim@#1[#2]{% + \gdef\lst@delimtype{#2}% + \@ifnextchar[\lst@Delim@sty + {\lst@Delim@sty[#1]}} +\def\lst@Delim@sty[#1]{% + \def\lst@delimstyle{#1}% + \ifx\@empty#1\@empty\else + \lst@Delim@sty@ #1\@nil + \fi + \@ifnextchar[\lst@Delim@option + \lst@Delim@delim} +\def\lst@Delim@option[#1]{\def\lst@arg{[#1]}\lst@Delim@delim} +\def\lst@Delim@sty@#1#2\@nil{% + \if\relax\noexpand#1\else + \edef\lst@delimstyle{\expandafter\noexpand + \csname\@lst @\lst@delimstyle\endcsname}% + \fi} +\def\lst@Delim@delim#1\relax#2#3#4#5#6#7#8{% + \ifx #4\@empty \lst@Delim@delall{#2}\fi + \ifx\@empty#1\@empty + \ifx #4\@nil + \@ifundefined{\@lst @#2DM@\lst@delimtype}% + {\lst@Delim@delall{#2@\lst@delimtype}}% + {\lst@Delim@delall{#2DM@\lst@delimtype}}% + \fi + \else + \expandafter\lst@Delim@args\expandafter + {\lst@delimtype}{#1}{#5}#6{#7}{#8}#4% + \let\lst@delim\@empty + \expandafter\lst@IfOneOf\lst@delimtype\relax#3% + {\@ifundefined{\@lst @#2DM@\lst@delimtype}% + {\lst@lExtend\lst@delim{\csname\@lst @#2@\lst@delimtype + \expandafter\endcsname\lst@arg}}% + {\lst@lExtend\lst@delim{\expandafter\lst@UseDynamicMode + \csname\@lst @#2DM@\lst@delimtype + \expandafter\endcsname\lst@arg}}% + \ifx #4\@nil + \let\lst@temp\lst@DefDelims \let\lst@DefDelims\@empty + \expandafter\lst@Delim@del\lst@temp\@empty\@nil\@nil\@nil + \else + \lst@lExtend\lst@DefDelims\lst@delim + \fi}% + {\PackageError{Listings}{Illegal type `\lst@delimtype'}% + {#2 types are #3.}}% + \fi} +\def\lst@Delim@args#1#2#3#4#5#6#7{% + \begingroup + \lst@false \let\lst@next\lst@XConvert + \@ifnextchar #4{\xdef\lst@delimtype{\expandafter\@gobble + \lst@delimtype}% + #5\lst@next#2\@nil + \lst@lAddTo\lst@arg{\@empty#6}% + \lst@GobbleNil}% + {\lst@next#2\@nil + \lst@lAddTo\lst@arg{\@empty#3}% + \lst@GobbleNil}% + #1\@nil + \global\let\@gtempa\lst@arg + \endgroup + \let\lst@arg\@gtempa + \ifx #7\@nil\else + \expandafter\lst@Delim@args@\expandafter{\lst@delimstyle}% + \fi} +\def\lst@Delim@args@#1{% + \lst@if + \lst@lAddTo\lst@arg{{{#1}\lst@modetrue}}% + \else + \ifx\lst@cumulative\@empty + \lst@lAddTo\lst@arg{{{}#1}}% + \else + \lst@lAddTo\lst@arg{{{#1}}}% + \fi + \fi} +\def\lst@Delim@del#1\@empty#2#3#4{% + \ifx #2\@nil\else + \def\lst@temp{#1\@empty#2#3}% + \ifx\lst@temp\lst@delim\else + \lst@lAddTo\lst@DefDelims{#1\@empty#2#3{#4}}% + \fi + \expandafter\lst@Delim@del + \fi} +\def\lst@Delim@delall#1{% + \begingroup + \edef\lst@delim{\expandafter\string\csname\@lst @#1\endcsname}% + \lst@false \global\let\@gtempa\@empty + \expandafter\lst@Delim@delall@\lst@DefDelims\@empty + \endgroup + \let\lst@DefDelims\@gtempa} +\def\lst@Delim@delall@#1{% + \ifx #1\@empty\else + \ifx #1\lst@UseDynamicMode + \lst@true + \let\lst@next\lst@Delim@delall@do + \else + \def\lst@next{\lst@Delim@delall@do#1}% + \fi + \expandafter\lst@next + \fi} +\def\lst@Delim@delall@do#1#2\@empty#3#4#5{% + \expandafter\lst@IfSubstring\expandafter{\lst@delim}{\string#1}% + {}% + {\lst@if \lst@AddTo\@gtempa\lst@UseDynamicMode \fi + \lst@AddTo\@gtempa{#1#2\@empty#3#4{#5}}}% + \lst@false \lst@Delim@delall@} +\gdef\lst@DefDelimB#1#2#3#4#5#6#7#8{% + \lst@CDef{#1}#2% + {#3}% + {\let\lst@bnext\lst@CArgEmpty + \lst@ifmode #4\else + #5% + \def\lst@bnext{#6{#7}{#8}}% + \fi + \lst@bnext}% + \@empty} +\gdef\lst@DefDelimE#1#2#3#4#5#6#7{% + \lst@CDef{#1}#2% + {#3}% + {\let\lst@enext\lst@CArgEmpty + \ifnum #7=\lst@mode% + #4% + \let\lst@enext#6% + \else + #5% + \fi + \lst@enext}% + \@empty} +\lst@AddToHook{Init}{\let\lst@bnext\relax \let\lst@enext\relax} +\gdef\lst@DefDelimBE#1#2#3#4#5#6#7#8#9{% + \lst@CDef{#1}#2% + {#3}% + {\let\lst@bnext\lst@CArgEmpty + \ifnum #7=\lst@mode + #4% + \let\lst@bnext#9% + \else + \lst@ifmode\else + #5% + \def\lst@bnext{#6{#7}{#8}}% + \fi + \fi + \lst@bnext}% + \@empty} +\gdef\lst@delimtypes{s,l} +\gdef\lst@DelimKey#1#2{% + \lst@Delim{}#2\relax + {Delim}\lst@delimtypes #1% + {\lst@BeginDelim\lst@EndDelim} + i\@empty{\lst@BeginIDelim\lst@EndIDelim}} +\lst@Key{delim}\relax{\lst@DelimKey\@empty{#1}} +\lst@Key{moredelim}\relax{\lst@DelimKey\relax{#1}} +\lst@Key{deletedelim}\relax{\lst@DelimKey\@nil{#1}} +\gdef\lst@DelimDM@l#1#2\@empty#3#4#5{% + \lst@CArg #2\relax\lst@DefDelimB{}{}{}#3{#1}{#5\lst@Lmodetrue}} +\gdef\lst@DelimDM@s#1#2#3\@empty#4#5#6{% + \lst@CArg #2\relax\lst@DefDelimB{}{}{}#4{#1}{#6}% + \lst@CArg #3\relax\lst@DefDelimE{}{}{}#5{#1}} +\def\lst@ReplaceInput#1{\lst@CArgX #1\relax\lst@CDefX{}{}} +\def\lst@Literatekey#1\@nil@{\let\lst@ifxliterate\lst@if + \def\lst@literate{#1}} +\lst@Key{literate}{}{\@ifstar{\lst@true \lst@Literatekey} + {\lst@false\lst@Literatekey}#1\@nil@} +\lst@AddToHook{SelectCharTable} + {\ifx\lst@literate\@empty\else + \expandafter\lst@Literate\lst@literate{}\relax\z@ + \fi} +\def\lst@Literate#1#2#3{% + \ifx\relax#2\@empty\else + \lst@CArgX #1\relax\lst@CDef + {} + {\let\lst@next\@empty + \lst@ifxliterate + \lst@ifmode \let\lst@next\lst@CArgEmpty \fi + \fi + \ifx\lst@next\@empty + \ifx\lst@OutputBox\@gobble\else + \lst@XPrintToken \let\lst@scanmode\lst@scan@m + \lst@token{#2}\lst@length#3\relax + \lst@XPrintToken + \fi + \let\lst@next\lst@CArgEmptyGobble + \fi + \lst@next}% + \@empty + \expandafter\lst@Literate + \fi} +\def\lst@CArgEmptyGobble#1\@empty{} +\def\lst@BeginDropInput#1{% + \lst@EnterMode{#1}% + {\lst@modetrue + \let\lst@OutputBox\@gobble + \let\lst@ifdropinput\iftrue + \let\lst@ProcessLetter\@gobble + \let\lst@ProcessDigit\@gobble + \let\lst@ProcessOther\@gobble + \let\lst@ProcessSpace\@empty + \let\lst@ProcessTabulator\@empty + \let\lst@ProcessFormFeed\@empty}} +\let\lst@ifdropinput\iffalse % init +\lst@Key{basicstyle}\relax{\def\lst@basicstyle{#1}} +\lst@Key{inputencoding}\relax{\def\lst@inputenc{#1}} +\lst@AddToHook{Init} + {\lst@basicstyle + \ifx\lst@inputenc\@empty\else + \@ifundefined{inputencoding}{}% + {\inputencoding\lst@inputenc}% + \fi} +\lst@AddToHookExe{EmptyStyle} + {\let\lst@basicstyle\@empty + \let\lst@inputenc\@empty} +\def\lst@parshape{\parshape\@ne \z@ \linewidth} +\lst@AddToHookAtTop{EveryLine}{\lst@parshape} +\lst@AddToHookAtTop{EndGroup}{\lst@parshape} +\newcount\lst@lineno % \global +\lst@AddToHook{InitVars}{\global\lst@lineno\@ne} +\lst@Key{print}{true}[t]{\lstKV@SetIf{#1}\lst@ifprint} +\lst@Key{firstline}\relax{\def\lst@firstline{#1\relax}} +\lst@Key{lastline}\relax{\def\lst@lastline{#1\relax}} +\lst@AddToHook{PreSet} + {\let\lst@firstline\@ne \def\lst@lastline{9999999\relax}} +\lst@Key{linerange}\relax{\lstKV@OptArg[]{#1}{% + \def\lst@interrange{##1}\def\lst@linerange{##2,}}} +\lst@AddToHook{PreSet}{\def\lst@firstline{1\relax}% + \let\lst@linerange\@empty} +\lst@AddToHook{Init} +{\ifx\lst@linerange\@empty + \edef\lst@linerange{{\lst@firstline}-{\lst@lastline},}% + \fi + \lst@GetLineInterval}% +\def\lst@GetLineInterval{\expandafter\lst@GLI\lst@linerange\@nil} +\def\lst@GLI#1,#2\@nil{\def\lst@linerange{#2}\lst@GLI@#1--\@nil} +\def\lst@GLI@#1-#2-#3\@nil{% + \ifx\@empty#1\@empty + \let\lst@firstline\@ne + \else + \def\lst@firstline{#1\relax}% + \fi + \ifx\@empty#2\@empty + \def\lst@lastline{9999999\relax}% + \else + \ifx -#2% + \let\lst@lastline\lst@firstline + \else + \def\lst@lastline{#2\relax}% + \fi + \fi} +\lst@Key{nolol}{false}[t]{\lstKV@SetIf{#1}\lst@ifnolol} +\def\lst@nololtrue{\let\lst@ifnolol\iftrue} +\let\lst@ifnolol\iffalse % init +\lst@Key{captionpos}{t}{\def\lst@captionpos{#1}} +\lst@Key{abovecaptionskip}\smallskipamount{\def\lst@abovecaption{#1}} +\lst@Key{belowcaptionskip}\smallskipamount{\def\lst@belowcaption{#1}} +\lst@Key{label}\relax{\def\lst@label{#1}} +\lst@Key{title}\relax{\def\lst@title{#1}\let\lst@caption\relax} +\lst@Key{caption}\relax{\lstKV@OptArg[{#1}]{#1}% + {\def\lst@caption{##2}\def\lst@@caption{##1}}% + \let\lst@title\@empty} +\lst@AddToHookExe{TextStyle} + {\let\lst@caption\@empty \let\lst@@caption\@empty + \let\lst@title\@empty \let\lst@label\@empty} +\@ifundefined{thechapter} + {\newcounter{lstlisting} + \renewcommand\thelstlisting{\@arabic\c@lstlisting}} + {\newcounter{lstlisting}[chapter] + \renewcommand\thelstlisting + {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@lstlisting}} +\lst@UserCommand\lstlistingname{Listing} +\@ifundefined{abovecaptionskip} +{\newskip\abovecaptionskip + \newskip\belowcaptionskip}{} +\@ifundefined{@makecaption} +{\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}% +}{} +\def\fnum@lstlisting{% + \lstlistingname + \ifx\lst@@caption\@empty\else~\thelstlisting\fi}% +\def\lst@MakeCaption#1{% + \lst@ifdisplaystyle + \ifx #1t% + \ifx\lst@@caption\@empty\expandafter\lst@HRefStepCounter \else + \expandafter\refstepcounter + \fi {lstlisting}% + \ifx\lst@label\@empty\else \label{\lst@label}\fi + \let\lst@arg\lst@intname \lst@ReplaceIn\lst@arg\lst@filenamerpl + \global\let\lst@name\lst@arg \global\let\lstname\lst@name + \lst@ifnolol\else + \ifx\lst@@caption\@empty + \ifx\lst@caption\@empty + \ifx\lst@intname\@empty \else \def\lst@temp{ }% + \ifx\lst@intname\lst@temp \else + \addcontentsline{lol}{lstlisting}\lst@name + \fi\fi + \fi + \else + \addcontentsline{lol}{lstlisting}% + {\protect\numberline{\thelstlisting}\lst@@caption}% + \fi + \fi + \fi + \ifx\lst@caption\@empty\else + \lst@IfSubstring #1\lst@captionpos + {\begingroup \let\@@vskip\vskip + \def\vskip{\afterassignment\lst@vskip \@tempskipa}% + \def\lst@vskip{\nobreak\@@vskip\@tempskipa\nobreak}% + \par\@parboxrestore\normalsize\normalfont % \noindent (AS) + \ifx #1t\allowbreak \fi + \ifx\lst@title\@empty + \lst@makecaption\fnum@lstlisting\lst@caption % (AS) + \else + \lst@maketitle\lst@title % (AS) + \fi + \ifx #1b\allowbreak \fi + \endgroup}{}% + \fi + \fi} +\def\lst@makecaption{\@makecaption} +\def\lst@maketitle{\@makecaption\lst@title@dropdelim} +\def\lst@title@dropdelim#1{\ignorespaces} +\AtBeginDocument{% +\@ifundefined{captionlabelfalse}{}{% + \def\lst@maketitle{\captionlabelfalse\@makecaption\@empty}}% +\@ifundefined{caption@startrue}{}{% + \def\lst@maketitle{\caption@startrue\@makecaption\@empty}}% +} +\def\lst@HRefStepCounter#1{% + \begingroup + \c@lstlisting\lst@neglisting + \advance\c@lstlisting\m@ne \xdef\lst@neglisting{\the\c@lstlisting}% + \ifx\hyper@refstepcounter\@undefined\else + \hyper@refstepcounter{#1}% + \fi + \endgroup} +\gdef\lst@neglisting{\z@}% init +\lst@Key{boxpos}{c}{\def\lst@boxpos{#1}} +\def\lst@boxtrue{\let\lst@ifbox\iftrue} +\let\lst@ifbox\iffalse +\lst@Key{float}\relax[\lst@floatplacement]{% + \lstKV@SwitchCases{#1}% + {true&\let\lst@floatdefault\lst@floatplacement + \let\lst@float\lst@floatdefault\\% + false&\let\lst@floatdefault\relax + \let\lst@float\lst@floatdefault + }{\def\lst@next{\@ifstar{\let\lst@beginfloat\@dblfloat + \let\lst@endfloat\end@dblfloat + \lst@KFloat}% + {\let\lst@beginfloat\@float + \let\lst@endfloat\end@float + \lst@KFloat}} + \edef\lst@float{#1}% + \expandafter\lst@next\lst@float\relax}} +\def\lst@KFloat#1\relax{% + \ifx\@empty#1\@empty + \let\lst@float\lst@floatplacement + \else + \def\lst@float{#1}% + \fi} +\lst@Key{floatplacement}{tbp}{\def\lst@floatplacement{#1}} +\lst@AddToHook{PreSet}{\let\lst@float\lst@floatdefault} +\lst@AddToHook{TextStyle}{\let\lst@float\relax} +\let\lst@floatdefault\relax % init +\lst@AddToHook{DeInit}{% + \ifx\lst@float\relax + \global\let\lst@doendpe\@doendpe + \else + \global\let\lst@doendpe\@empty + \fi} +\AtBeginDocument{% +\@ifundefined{c@float@type}% + {\edef\ftype@lstlisting{\ifx\c@figure\@undefined 1\else 4\fi}} + {\edef\ftype@lstlisting{\the\c@float@type}% + \addtocounter{float@type}{\value{float@type}}}% +} +\lst@Key{aboveskip}\medskipamount{\def\lst@aboveskip{#1}} +\lst@Key{belowskip}\medskipamount{\def\lst@belowskip{#1}} +\lst@AddToHook{TextStyle} + {\let\lst@aboveskip\z@ \let\lst@belowskip\z@} +\lst@Key{everydisplay}{}{\def\lst@EveryDisplay{#1}} +\lst@AddToHook{TextStyle}{\let\lst@ifdisplaystyle\iffalse} +\lst@AddToHook{DisplayStyle}{\let\lst@ifdisplaystyle\iftrue} +\let\lst@ifdisplaystyle\iffalse +\def\lst@Init#1{% + \begingroup + \ifx\lst@float\relax\else + \edef\@tempa{\noexpand\lst@beginfloat{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 \par\noindent + \else + \lst@ifdisplaystyle + \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 + \lst@ifdisplaystyle + \global\let\lst@ltxlabel\@empty + \if@inlabel + \lst@ifresetmargins + \leavevmode + \else + \xdef\lst@ltxlabel{\the\everypar}% + \lst@AddTo\lst@ltxlabel{% + \global\let\lst@ltxlabel\@empty + \everypar{\lsthk@EveryLine\lsthk@EveryPar}}% + \fi + \fi + \everypar\expandafter{\lst@ltxlabel + \lsthk@EveryLine\lsthk@EveryPar}% + \else + \everypar{}\let\lst@NewLine\@empty + \fi + \lsthk@InitVars \lsthk@InitVarsBOL + \lst@Let{13}\lst@MProcessListing + \let\lst@Backslash#1% + \lst@EnterMode{\lst@Pmode}{\lst@SelectCharTable}% + \lst@InitFinalize} +\let\lst@InitFinalize\@empty % init +\lst@AddToHook{PreInit} + {\rightskip\z@ \leftskip\z@ \parfillskip=\z@ plus 1fil + \let\par\@@par} +\lst@AddToHook{EveryLine}{}% init +\lst@AddToHook{EveryPar}{}% init +\lst@Key{showlines}f[t]{\lstKV@SetIf{#1}\lst@ifshowlines} +\def\lst@DeInit{% + \lst@XPrintToken \lst@EOLUpdate + \global\advance\lst@newlines\m@ne + \lst@ifshowlines + \lst@DoNewLines + \else + \setbox\@tempboxa\vbox{\lst@DoNewLines}% + \fi + \lst@ifdisplaystyle \par\removelastskip \fi + \lsthk@ExitVars\everypar{}\lsthk@DeInit\normalbaselines\normalcolor + \lst@MakeCaption b% + \lst@ifbox + \egroup $\hss \egroup + \vrule\@width\lst@maxwidth\@height\z@\@depth\z@ + \else + \lst@ifdisplaystyle + \par\penalty-50\vspace\lst@belowskip + \fi + \fi + \ifx\lst@float\relax\else + \expandafter\lst@endfloat + \fi + \endgroup} +\newdimen\lst@maxwidth % \global +\lst@AddToHook{InitVars}{\global\lst@maxwidth\z@} +\lst@AddToHook{InitVarsEOL} + {\ifdim\lst@currlwidth>\lst@maxwidth + \global\lst@maxwidth\lst@currlwidth + \fi} +\def\lst@EOLUpdate{\lsthk@EOL \lsthk@InitVarsEOL} +\def\lst@MProcessListing{% + \lst@XPrintToken \lst@EOLUpdate \lsthk@InitVarsBOL + \global\advance\lst@lineno\@ne + \ifnum \lst@lineno>\lst@lastline + \lst@ifdropinput \lst@LeaveMode \fi + \ifx\lst@linerange\@empty + \expandafter\expandafter\expandafter\lst@EndProcessListing + \else + \lst@interrange + \lst@GetLineInterval + \expandafter\expandafter\expandafter\lst@SkipToFirst + \fi + \else + \expandafter\lst@BOLGobble + \fi} +\let\lst@EndProcessListing\endinput +\lst@Key{gobble}{0}{\def\lst@gobble{#1}} +\def\lst@BOLGobble{% + \ifnum\lst@gobble>\z@ + \@tempcnta\lst@gobble\relax + \expandafter\lst@BOLGobble@ +\fi} +\def\lst@BOLGobble@@{% + \ifnum\@tempcnta>\z@ + \expandafter\lst@BOLGobble@ + \fi} +\def\lstenv@BOLGobble@@{% + \lst@IfNextChars\lstenv@endstring{\lstenv@End}% + {\advance\@tempcnta\m@ne \expandafter\lst@BOLGobble@@\lst@eaten}} +\def\lst@BOLGobble@#1{% + \let\lst@next#1% + \ifx \lst@next\relax\else + \ifx \lst@next\lst@MProcessListing\else + \ifx \lst@next\lst@processformfeed\else + \ifx \lst@next\lstenv@backslash + \let\lst@next\lstenv@BOLGobble@@ + \else + \let\lst@next\lst@BOLGobble@@ + \ifx #1\lst@processtabulator + \advance\@tempcnta-\lst@tabsize\relax + \ifnum\@tempcnta<\z@ + \lst@length-\@tempcnta \lst@PreGotoTabStop + \fi + \else + \advance\@tempcnta\m@ne + \fi + \fi \fi \fi \fi + \lst@next} +\def\lst@processformfeed{\lst@ProcessFormFeed} +\def\lst@processtabulator{\lst@ProcessTabulator} +\lst@Key{name}\relax{\def\lst@intname{#1}} +\lst@AddToHookExe{PreSet}{\global\let\lst@intname\@empty} +\lst@AddToHook{PreInit}{% + \let\lst@arg\lst@intname \lst@ReplaceIn\lst@arg\lst@filenamerpl + \global\let\lst@name\lst@arg \global\let\lstname\lst@name} +\def\lst@filenamerpl{_\textunderscore $\textdollar -\textendash} +\def\l@lstlisting#1#2{\@dottedtocline{1}{1.5em}{2.3em}{#1}{#2}} +\lst@UserCommand\lstlistlistingname{Listings} +\lst@UserCommand\lstlistoflistings{\bgroup + \let\contentsname\lstlistlistingname + \let\lst@temp\@starttoc \def\@starttoc##1{\lst@temp{lol}}% + \tableofcontents \egroup} +\@ifpackageloaded{scrlfile} +{\newcommand*\lol@heading{\float@listhead{\lstlistlistingname}} + \renewcommand*\lstlistoflistings{% + \begingroup% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \lol@heading% + \@parskipfalse\@parskip@indent% + \@starttoc{lol}% + \if@restonecol\twocolumn\fi + \endgroup}% +}{} +\newcommand\lstinline[1][]{% + \leavevmode\bgroup % \hbox\bgroup --> \bgroup + \def\lst@boxpos{b}% + \lsthk@PreSet\lstset{flexiblecolumns,#1}% + \lsthk@TextStyle + \@ifnextchar\bgroup{\afterassignment\lst@InlineG \let\@let@token}% + \lstinline@} +\def\lstinline@#1{% + \lst@Init\relax + \lst@IfNextCharActive{\lst@InlineM#1}{\lst@InlineJ#1}} +\lst@AddToHook{TextStyle}{}% init +\lst@AddToHook{SelectCharTable}{\lst@inlinechars} +\global\let\lst@inlinechars\@empty +\def\lst@InlineM#1{\gdef\lst@inlinechars{% + \lst@Def{`#1}{\lst@DeInit\egroup\global\let\lst@inlinechars\@empty}% + \lst@Def{13}{\lst@DeInit\egroup \global\let\lst@inlinechars\@empty + \PackageError{Listings}{lstinline ended by EOL}\@ehc}}% + \lst@inlinechars} +\def\lst@InlineJ#1{% + \def\lst@temp##1#1{% + \let\lst@arg\@empty \lst@InsideConvert{##1}\lst@arg + \lst@DeInit\egroup}% + \lst@temp} +\def\lst@InlineG{% + \lst@Init\relax + \lst@IfNextCharActive{\lst@InlineM\}}% + {\let\lst@arg\@empty \lst@InlineGJ}} +\def\lst@InlineGJ{\futurelet\@let@token\lst@InlineGJTest} +\def\lst@InlineGJTest{% + \ifx\@let@token\egroup + \afterassignment\lst@InlineGJEnd + \expandafter\let\expandafter\@let@token + \else + \ifx\@let@token\@sptoken + \let\lst@next\lst@InlineGJReadSp + \else + \let\lst@next\lst@InlineGJRead + \fi + \expandafter\lst@next + \fi} +\def\lst@InlineGJEnd{\lst@arg\lst@DeInit\egroup} +\def\lst@InlineGJRead#1{% + \lccode`\~=`#1\lowercase{\lst@lAddTo\lst@arg~}% + \lst@InlineGJ} +\def\lst@InlineGJReadSp#1{% + \lccode`\~=`\ \lowercase{\lst@lAddTo\lst@arg~}% + \lst@InlineGJ#1} +\def\lst@MakePath#1{\ifx\@empty#1\@empty\else\lst@MakePath@#1/\@nil/\fi} +\def\lst@MakePath@#1/{#1/\lst@MakePath@@} +\def\lst@MakePath@@#1/{% + \ifx\@nil#1\expandafter\@gobble + \else \ifx\@empty#1\else #1/\fi \fi + \lst@MakePath@@} +\lst@Key{inputpath}{}{\edef\lst@inputpath{\lst@MakePath{#1}}} +\def\lstinputlisting{% + \begingroup \lst@setcatcodes \lst@inputlisting} +\newcommand\lst@inputlisting[2][]{% + \endgroup + \def\lst@set{#1}% + \IfFileExists{\lst@inputpath#2}% + {\expandafter\lst@InputListing\expandafter{\lst@inputpath#2}}% + {\filename@parse{\lst@inputpath#2}% + \edef\reserved@a{\noexpand\lst@MissingFileError + {\filename@area\filename@base}% + {\ifx\filename@ext\relax tex\else\filename@ext\fi}}% + \reserved@a}% + \lst@doendpe \@newlistfalse \ignorespaces} +\def\lst@MissingFileError#1#2{% + \typeout{^^J! Package Listings Error: File `#1(.#2)' not found.^^J% + ^^JType X to quit or to proceed,^^J% + or enter new name. (Default extension: #2)^^J}% + \message{Enter file name: }% + {\endlinechar\m@ne \global\read\m@ne to\@gtempa}% + \ifx\@gtempa\@empty \else + \def\reserved@a{x}\ifx\reserved@a\@gtempa\batchmode\@@end\fi + \def\reserved@a{X}\ifx\reserved@a\@gtempa\batchmode\@@end\fi + \filename@parse\@gtempa + \edef\filename@ext{% + \ifx\filename@ext\relax#2\else\filename@ext\fi}% + \edef\reserved@a{\noexpand\IfFileExists % + {\filename@area\filename@base.\filename@ext}% + {\noexpand\lst@InputListing % + {\filename@area\filename@base.\filename@ext}}% + {\noexpand\lst@MissingFileError + {\filename@area\filename@base}{\filename@ext}}}% + \expandafter\reserved@a % + \fi} +\let\lst@ifdraft\iffalse +\DeclareOption{draft}{\let\lst@ifdraft\iftrue} +\DeclareOption{final}{\let\lst@ifdraft\iffalse} +\lst@AddToHook{PreSet} + {\lst@ifdraft + \let\lst@ifprint\iffalse + \@gobbletwo\fi\fi + \fi} +\def\lst@InputListing#1{% + \begingroup + \lsthk@PreSet \gdef\lst@intname{#1}% + \expandafter\lstset\expandafter{\lst@set}% + \lsthk@DisplayStyle + \catcode\active=\active + \lst@Init\relax \let\lst@gobble\z@ + \lst@SkipToFirst + \lst@ifprint \def\lst@next{\input{#1}}% + \else \let\lst@next\@empty \fi + \lst@next + \lst@DeInit + \endgroup} +\def\lst@SkipToFirst{% + \ifnum \lst@lineno<\lst@firstline + \lst@BeginDropInput\lst@Pmode + \lst@Let{13}\lst@MSkipToFirst + \lst@Let{10}\lst@MSkipToFirst + \else + \expandafter\lst@BOLGobble + \fi} +\def\lst@MSkipToFirst{% + \global\advance\lst@lineno\@ne + \ifnum \lst@lineno=\lst@firstline + \lst@LeaveMode \global\lst@newlines\z@ + \lsthk@InitVarsBOL + \expandafter\lst@BOLGobble + \fi} +\def\lstenv@DroppedWarning{% + \ifx\lst@dropped\@undefined\else + \PackageWarning{Listings}{Text dropped after begin of listing}% + \fi} +\let\lst@dropped\@undefined % init +\begingroup \lccode`\~=`\^^M\lowercase{% +\gdef\lstenv@Process#1{% + \ifx~#1% + \lstenv@DroppedWarning \let\lst@next\lst@SkipToFirst + \else\ifx^^J#1% + \lstenv@DroppedWarning \let\lst@next\lstenv@ProcessJ + \else + \let\lst@dropped#1\let\lst@next\lstenv@Process + \fi \fi + \lst@next} +}\endgroup +\def\lstenv@ProcessJ{% + \let\lst@arg\@empty + \ifx\@currenvir\lstenv@name + \expandafter\lstenv@ProcessJEnv + \else + \expandafter\def\expandafter\lst@temp\expandafter##1% + \csname end\lstenv@name\endcsname + {\lst@InsideConvert{##1}\lstenv@ProcessJ@}% + \expandafter\lst@temp + \fi} +\begingroup \lccode`\~=`\\\lowercase{% +\gdef\lstenv@ProcessJ@{% + \lst@lExtend\lst@arg + {\expandafter\ \expandafter~\lstenv@endstring}% + \catcode10=\active \lst@Let{10}\lst@MProcessListing + \lst@SkipToFirst \lst@arg} +}\endgroup +\def\lstenv@ProcessJEnv#1\end#2{\def\lst@temp{#2}% + \ifx\lstenv@name\lst@temp + \lst@InsideConvert{#1}% + \expandafter\lstenv@ProcessJ@ + \else + \lst@InsideConvert{#1\\end\{#2\}}% + \expandafter\lstenv@ProcessJEnv + \fi} +\def\lstenv@backslash{% + \lst@IfNextChars\lstenv@endstring + {\lstenv@End}% + {\expandafter\lsts@backslash \lst@eaten}}% +\def\lstenv@End{% + \ifx\@currenvir\lstenv@name + \edef\lst@next{\noexpand\end{\lstenv@name}}% + \else + \def\lst@next{\csname end\lstenv@name\endcsname}% + \fi + \lst@next} +\lst@UserCommand\lstnewenvironment#1#2#{% + \@ifundefined{#1}% + {\let\lst@arg\@empty + \lst@XConvert{#1}\@nil + \expandafter\lstnewenvironment@\lst@arg{#1}{#2}}% + {\PackageError{Listings}{Environment `#1' already defined}\@eha + \@gobbletwo}} +\def\@tempa#1#2#3{% +\gdef\lstnewenvironment@##1##2##3##4##5{% + \begingroup + \global\@namedef{end##2}{\lstenv@Error{##2}}% + \global\@namedef{##2}{\def\lstenv@name{##2}% + \begingroup \lst@setcatcodes \catcode\active=\active + \csname##2@\endcsname}% + \let\l@ngrel@x\global + \let\@xargdef\lstenv@xargdef + \expandafter\new@command\csname##2@\endcsname##3% + {\lsthk@PreSet ##4% + \ifx\@currenvir\lstenv@name + \def\lstenv@endstring{#1#2##1#3}% + \else + \def\lstenv@endstring{#1##1}% + \fi + \@namedef{end##2}{\lst@DeInit ##5\endgroup + \lst@doendpe \@ignoretrue}% + \lsthk@DisplayStyle + \let\lst@EndProcessListing\lstenv@SkipToEnd + \lst@Init\lstenv@backslash + \lst@ifprint + \expandafter\expandafter\expandafter\lstenv@Process + \else + \expandafter\lstenv@SkipToEnd + \fi + \lst@insertargs}% + \endgroup}% +} +\let\lst@arg\@empty \lst@XConvert{end}\{\}\@nil +\expandafter\@tempa\lst@arg +\let\lst@insertargs\@empty +\def\lstenv@xargdef#1{ + \expandafter\lstenv@xargdef@\csname\string#1\endcsname#1} +\def\lstenv@xargdef@#1#2[#3][#4]#5{% + \@ifdefinable#2{% + \gdef#2{% + \ifx\protect\@typeset@protect + \expandafter\lstenv@testopt + \else + \@x@protect#2% + \fi + #1% + {#4}}% + \@yargdef + #1% + \tw@ + {#3}% + {#5}}} +\long\def\lstenv@testopt#1#2{% + \@ifnextchar[{\catcode\active5\relax \lstenv@testopt@#1}% + {#1[{#2}]}} +\def\lstenv@testopt@#1[#2]{% + \catcode\active\active + #1[#2]} +\begingroup \lccode`\~=`\\\lowercase{% +\gdef\lstenv@SkipToEnd{% + \long\expandafter\def\expandafter\lst@temp\expandafter##\expandafter + 1\expandafter~\lstenv@endstring{\lstenv@End}% + \lst@temp} +}\endgroup +\def\lstenv@Error#1{\PackageError{Listings}{Extra \string\end#1}% + {I'm ignoring this, since I wasn't doing a \csname#1\endcsname.}} +\begingroup \lccode`\~=`\^^M\lowercase{% +\gdef\lst@TestEOLChar#1{% + \def\lst@insertargs{#1}% + \ifx ~#1\@empty \else + \ifx^^J#1\@empty \else + \global\let\lst@intname\lst@insertargs + \let\lst@insertargs\@empty + \fi \fi} +}\endgroup +\lstnewenvironment{lstlisting}[2][] + {\lst@TestEOLChar{#2}% + \lstset{#1}% + \csname\@lst @SetFirstNumber\endcsname} + {\csname\@lst @SaveFirstNumber\endcsname} +\lst@Key{fancyvrb}\relax[t]{% + \lstKV@SetIf{#1}\lst@iffancyvrb + \lstFV@fancyvrb} +\ifx\lstFV@fancyvrb\@undefined + \gdef\lstFV@fancyvrb{\lst@RequireAspects{fancyvrb}\lstFV@fancyvrb} +\fi +\@ifundefined{ocp}{} + {\lst@AddToHook{OutputBox}% + {\let\lst@ProcessLetter\@firstofone + \let\lst@ProcessDigit\@firstofone + \let\lst@ProcessOther\@firstofone}} +\DeclareOption*{\expandafter\lst@ProcessOption\CurrentOption\relax} +\def\lst@ProcessOption#1#2\relax{% + \ifx #1!% + \lst@DeleteKeysIn\lst@loadaspects{#2}% + \else + \lst@lAddTo\lst@loadaspects{,#1#2}% + \fi} +\@ifundefined{lst@loadaspects} + {\def\lst@loadaspects{strings,comments,escape,style,language,% + keywords,labels,lineshape,frames,emph,index}% + }{} +\InputIfFileExists{lstpatch.sty}{}{} +\let\lst@ifsavemem\iffalse +\DeclareOption{savemem}{\let\lst@ifsavemem\iftrue} +\DeclareOption{noaspects}{\let\lst@loadaspects\@empty} +\ProcessOptions +\lst@RequireAspects\lst@loadaspects +\let\lst@loadaspects\@empty +\lst@UseHook{SetStyle}\lst@UseHook{EmptyStyle} +\lst@UseHook{SetLanguage}\lst@UseHook{EmptyLanguage} +\InputIfFileExists{listings.cfg}{}{} +\InputIfFileExists{lstlocal.cfg}{}{} +\endinput +%% +%% End of file `listings.sty'. diff -r 2c619ec34ae4 -r 7fdca589238f nonDefaultPackage/lstdoc.sty --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nonDefaultPackage/lstdoc.sty Tue Mar 25 23:16:29 2008 +0900 @@ -0,0 +1,451 @@ +%% +%% This is file `lstdoc.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% listings-1.3.dtx (with options: `doc') +%% +%% Please read the software license in listings-1.3.dtx or listings-1.3.pdf. +%% +%% (w)(c) 1996--2004 Carsten Heinz and/or any other author listed +%% elsewhere in this file. +%% +%% Send comments and ideas on the package, error reports and additional +%% programming languages to . +%% +\def\filedate{2004/09/07} +\def\fileversion{1.3} +\ProvidesPackage{lstdoc} + [\filedate\space\fileversion\space(Carsten Heinz)] +\let\lstdoc@currversion\fileversion +\RequirePackage[writefile]{listings}[2004/09/07] +\newif\iffancyvrb \IfFileExists{fancyvrb.sty}{\fancyvrbtrue}{} +\newif\ifcolor \IfFileExists{color.sty}{\colortrue}{} +\lst@false +\newif\ifhyper +\@ifundefined{pdfoutput} + {} + {\ifnum\pdfoutput>\z@ \lst@true \fi} +\@ifundefined{VTeXversion} + {} + {\ifnum\OpMode>\z@ \lst@true \fi} +\lst@if \IfFileExists{hyperref.sty}{\hypertrue}{}\fi +\newif\ifalgorithmic \IfFileExists{algorithmic.sty}{\algorithmictrue}{} +\newif\iflgrind \IfFileExists{lgrind.sty}{\lgrindtrue}{} +\iffancyvrb \RequirePackage{fancyvrb}\fi +\ifhyper \RequirePackage[colorlinks]{hyperref}\else + \def\href#1{\texttt}\fi +\ifcolor \RequirePackage{color}\fi +\ifalgorithmic \RequirePackage{algorithmic}\fi +\iflgrind \RequirePackage{lgrind}\fi +\RequirePackage{nameref} +\RequirePackage{url} +\renewcommand\ref{\protect\T@ref} +\renewcommand\pageref{\protect\T@pageref} +\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} +\def\advise{\par\list\labeladvise + {\advance\linewidth\@totalleftmargin + \@totalleftmargin\z@ + \@listi + \let\small\footnotesize \small\sffamily + \parsep \z@ \@plus\z@ \@minus\z@ + \topsep6\p@ \@plus1\p@\@minus2\p@ + \def\makelabel##1{\hss\llap{##1}}}} +\let\endadvise\endlist +\def\advisespace{\hbox{}\qquad} +\def\labeladvise{$\to$} +\newenvironment{syntax} + {\list{}{\itemindent-\leftmargin + \def\makelabel##1{\hss\lst@syntaxlabel##1,,,,\relax}}} + {\endlist} +\def\lst@syntaxlabel#1,#2,#3,#4\relax{% + \llap{\scriptsize\itshape#3}% + \def\lst@temp{#2}% + \expandafter\lst@syntaxlabel@\meaning\lst@temp\relax + \rlap{\hskip-\itemindent\hskip\itemsep\hskip\linewidth + \llap{\ttfamily\lst@temp}\hskip\labelwidth + \def\lst@temp{#1}% + \ifx\lst@temp\lstdoc@currversion#1\fi}} +\def\lst@syntaxlabel@#1>#2\relax + {\edef\lst@temp{\zap@space#2 \@empty}} +\newcommand*\syntaxnewline{\newline\hbox{}\kern\labelwidth} +\newcommand*\syntaxor{\qquad or\qquad} +\newcommand*\syntaxbreak + {\hfill\kern0pt\discretionary{}{\kern\labelwidth}{}} +\let\syntaxfill\hfill +\def\alternative#1{\lst@true \alternative@#1,\relax,} +\def\alternative@#1,{% + \ifx\relax#1\@empty + \expandafter\@gobble + \else + \ifx\@empty#1\@empty\else + \lst@if \lst@false \else $\vert$\fi + \textup{\texttt{#1}}% + \fi + \fi + \alternative@} +\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}[3][] + {\global\let\lst@intname\@empty + \gdef\lst@sample{#2}% + \setbox\lst@samplebox=\hbox\bgroup + \setkeys{lst}{language={},style={},tabsize=4,gobble=5,% + basicstyle=\small\ttfamily,basewidth=0.51em,point={#1}} + #3% + \lst@BeginAlsoWriteFile{\jobname.tmp}} + {\lst@EndWriteFile\egroup + \ifdim \wd\lst@samplebox>.5\linewidth + \begin{center}% + \hbox to\linewidth{\box\lst@samplebox\hss}% + \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} +\lst@InstallKeywords{p}{point}{pointstyle}\relax{keywordstyle}{}ld +\lstnewenvironment{lstxsample}[1][] + {\begingroup + \setkeys{lst}{belowskip=-\medskipamount,language={},style={},% + tabsize=4,gobble=5,basicstyle=\small\ttfamily,% + basewidth=0.51em,point={#1}} + \lst@BeginAlsoWriteFile{\jobname.tmp}} + {\endgroup + \endgroup} +\def\lst@sampleInput{% + \MakePercentComment\catcode`\^^M=10\relax + \small\lst@sample + {\setkeys{lst}{SelectCharTable=\lst@ReplaceInput{\^\^I}% + {\lst@ProcessTabulator}}% + \leavevmode \input{\jobname.tmp}}\MakePercentIgnore} +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {1.25ex \@plus1ex \@minus.2ex}% + {-1em}% + {\normalfont\normalsize\bfseries}} +\def\lstref#1{\emph{\ref{#1} \nameref{#1}}} +\def\@part[#1]#2{\addcontentsline{toc}{part}{#1}% + {\parindent\z@ \raggedright \interlinepenalty\@M + \normalfont \huge \bfseries #2\markboth{}{}\par}% + \nobreak\vskip 3ex\@afterheading} +\renewcommand*\l@section[2]{% + \addpenalty\@secpenalty + \addvspace{.25em \@plus\p@}% + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \endgroup} +\renewcommand*\l@subsection{\@dottedtocline{2}{0pt}{2.3em}} +\renewcommand*\l@subsubsection{\@dottedtocline{3}{0pt}{3.2em}} +\newcommand\ikeyname[1]{% + \lstkeyindex{#1}{}% + \lstaspectindex{#1}{}% + \keyname{#1}} +\newcommand\ekeyname[1]{% + \@bsphack + \lstkeyindex{#1}{\encapchar usage}% + \lstaspectindex{#1}{\encapchar usage}% + \@esphack} +\newcommand\rkeyname[1]{% + \@bsphack + \lstkeyindex{#1}{\encapchar main}% + \lstaspectindex{#1}{\encapchar main}% + \@esphack{\rstyle\keyname{#1}}} +\newcommand\icmdname[1]{% + \@bsphack + \lstaspectindex{#1}{}% + \@esphack\texttt{\string#1}} +\newcommand\rcmdname[1]{% + \@bsphack + \lstaspectindex{#1}{\encapchar main}% + \@esphack\texttt{\rstyle\string#1}} +\def\lstaspectindex#1#2{% + \global\@namedef{lstkandc@\string#1}{}% + \@ifundefined{lstisaspect@\string#1} + {\index{unknown\levelchar + \protect\texttt{\protect\string\string#1}#2}}% + {\index{\@nameuse{lstisaspect@\string#1}\levelchar + \protect\texttt{\protect\string\string#1}#2}}% +} +\def\lstkeyindex#1#2{% +} +\def\lstisaspect[#1]#2{% + \global\@namedef{lstaspect@#1}{#2}% + \lst@AddTo\lst@allkeysandcmds{,#2}% + \@for\lst@temp:=#2\do + {\ifx\@empty\lst@temp\else + \global\@namedef{lstisaspect@\lst@temp}{#1}% + \fi}} +\gdef\lst@allkeysandcmds{} +\def\lstprintaspectkeysandcmds#1{% + \lst@true + \expandafter\@for\expandafter\lst@temp + \expandafter:\expandafter=\csname lstaspect@#1\endcsname\do + {\lst@if\lst@false\else, \fi \texttt{\lst@temp}}} +\def\lstcheckreference{% + \@for\lst@temp:=\lst@allkeysandcmds\do + {\ifx\lst@temp\@empty\else + \@ifundefined{lstkandc@\lst@temp} + {\typeout{\lst@temp\space not in reference guide?}}{}% + \fi}} +\newcommand*\lst{\texttt{lst}} +\newcommand*\Cpp{C\texttt{++}} +\let\keyname\texttt +\let\keyvalue\texttt +\let\hookname\texttt +\newcommand*\aspectname[1]{{\normalfont\sffamily#1}} +\DeclareRobustCommand\packagename[1]{% + {\leavevmode\text@command{#1}% + \switchfontfamily\sfdefault\rmdefault + \check@icl #1\check@icr + \expandafter}}% +\renewcommand\packagename[1]{{\normalfont\sffamily#1}} +\def\switchfontfamily#1#2{% + \begingroup\xdef\@gtempa{#1}\endgroup + \ifx\f@family\@gtempa\fontfamily#2% + \else\fontfamily#1\fi + \selectfont} +\ifcolor + \definecolor{darkgreen}{rgb}{0,0.5,0} + \def\rstyle{\color{darkgreen}} +\else + \let\rstyle\empty +\fi +\gdef\lst@emails{} +\newcommand*\lstthanks[2] + {#1\lst@AddTo\lst@emails{,#1,<#2>}% + \ifx\@empty#2\@empty\typeout{Missing email for #1}\fi} +\newcommand*\lsthelper[3] + {{\let~\ #1}% + \lst@IfOneOf#1\relax\lst@emails + {}{\typeout{^^JWarning: Unknown helper #1.^^J}}} +\lstdefinelanguage[doc]{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,% + procedure,put,read,readln,real,record,repeat,reset,rewrite,set,% + text,then,to,true,type,unpack,until,var,while,with,write,writeln},% + sensitive=false,% + morecomment=[s]{(*}{*)},% + morecomment=[s]{\{}{\}},% + morestring=[d]{'}} +\lstdefinestyle{} + {basicstyle={},% + keywordstyle=\bfseries,identifierstyle={},% + commentstyle=\itshape,stringstyle={},% + numberstyle={},stepnumber=1,% + pointstyle=\pointstyle} +\def\pointstyle{% + {\let\lst@um\@empty \xdef\@gtempa{\the\lst@token}}% + \expandafter\lstkeyindex\expandafter{\@gtempa}{}% + \expandafter\lstaspectindex\expandafter{\@gtempa}{}% + \rstyle} +\lstset{defaultdialect=[doc]Pascal,language=Pascal,style={}} +\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\@lst dd@\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'. diff -r 2c619ec34ae4 -r 7fdca589238f nonDefaultPackage/lstlang1.sty --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nonDefaultPackage/lstlang1.sty Tue Mar 25 23:16:29 2008 +0900 @@ -0,0 +1,1226 @@ +%% +%% This is file `lstlang1.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lstdrvrs-1.3.dtx (with options: `lang1') +%% +%% (w)(c) 1996/1997/1998/1999/2000/2001/2002/2003/2004 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. +%% +%% Send comments and ideas on the package, error reports and additional +%% programming languages to . +%% +\ProvidesFile{lstlang1.sty} + [2004/09/05 1.3 listings language file] +%% +%% ACSL definition (c) 2000 by Andreas Matthias +%% +\lst@definelanguage{ACSL}[90]{Fortran}% + {morekeywords={algorithm,cinterval,constant,derivative,discrete,% + dynamic,errtag,initial,interval,maxterval,minterval,% + merror,xerror,nsteps,procedural,save,schedule,sort,% + table,terminal,termt,variable},% + sensitive=false,% + morecomment=[l]!% + }[keywords, comments]% +%% +%% Ada 95 definition (c) Torsten Neuer +%% +\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]% +%% +%% awk definitions (c) Christoph Giess +%% +\lst@definelanguage[gnu]{Awk}[POSIX]{Awk}% + {morekeywords={and,asort,bindtextdomain,compl,dcgettext,gensub,% + lshift,mktime,or,rshift,strftime,strtonum,systime,xor,extension}% + }% +\lst@definelanguage[POSIX]{Awk}% + {keywords={BEGIN,END,close,getline,next,nextfile,print,printf,% + system,fflush,atan2,cos,exp,int,log,rand,sin,sqrt,srand,gsub,% + index,length,match,split,sprintf,strtonum,sub,substr,tolower,% + toupper,if,while,do,for,break,continue,delete,exit,function,% + return},% + sensitive,% + morecomment=[l]\#,% + morecomment=[l]//,% + morecomment=[s]{/*}{*/},% + morestring=[b]"% + }[keywords,comments,strings]% +%% +%% Visual Basic definition (c) 2002 Robert Frank +%% +\lst@definelanguage[Visual]{Basic} + {morekeywords={Abs,Array,Asc,AscB,AscW,Atn,Avg,CBool,CByte,CCur,% + CDate,CDbl,Cdec,Choose,Chr,ChrB,ChrW,CInt,CLng,Command,Cos,% + Count,CreateObject,CSng,CStr,CurDir,CVar,CVDate,CVErr,Date,% + DateAdd,DateDiff,DatePart,DateSerial,DateValue,Day,DDB,Dir,% + DoEvents,Environ,EOF,Error,Exp,FileAttr,FileDateTime,FileLen,% + Fix,Format,FreeFile,FV,GetAllStrings,GetAttr,% + GetAutoServerSettings,GetObject,GetSetting,Hex,Hour,IIf,% + IMEStatus,Input,InputB,InputBox,InStr,InstB,Int,Integer,IPmt,% + IsArray,IsDate,IsEmpty,IsError,IsMissing,IsNull,IsNumeric,% + IsObject,LBound,LCase,Left,LeftB,Len,LenB,LoadPicture,Loc,LOF,% + Log,Ltrim,Max,Mid,MidB,Min,Minute,MIRR,Month,MsgBox,Now,NPer,% + NPV,Oct,Partition,Pmt,PPmt,PV,QBColor,Rate,RGB,Right,RightB,Rnd,% + Rtrim,Second,Seek,Sgn,Shell,Sin,SLN,Space,Spc,Sqr,StDev,StDevP,% + Str,StrComp,StrConv,String,Switch,Sum,SYD,Tab,Tan,Time,Timer,% + TimeSerial,TimeValue,Trim,TypeName,UBound,Ucase,Val,Var,VarP,% + VarType,Weekday,Year},% functions + morekeywords=[2]{Accept,Activate,Add,AddCustom,AddFile,AddFromFile,% + AddFromTemplate,AddItem,AddNew,AddToAddInToolbar,% + AddToolboxProgID,Append,AppendChunk,Arrange,Assert,AsyncRead,% + BatchUpdate,BeginTrans,Bind,Cancel,CancelAsyncRead,CancelBatch,% + CancelUpdate,CanPropertyChange,CaptureImage,CellText,CellValue,% + Circle,Clear,ClearFields,ClearSel,ClearSelCols,Clone,Close,Cls,% + ColContaining,ColumnSize,CommitTrans,CompactDatabase,Compose,% + Connect,Copy,CopyQueryDef,CreateDatabase,CreateDragImage,% + CreateEmbed,CreateField,CreateGroup,CreateIndex,CreateLink,% + CreatePreparedStatement,CreatePropery,CreateQuery,% + CreateQueryDef,CreateRelation,CreateTableDef,CreateUser,% + CreateWorkspace,Customize,Delete,DeleteColumnLabels,% + DeleteColumns,DeleteRowLabels,DeleteRows,DoVerb,Drag,Draw,Edit,% + EditCopy,EditPaste,EndDoc,EnsureVisible,EstablishConnection,% + Execute,ExtractIcon,Fetch,FetchVerbs,Files,FillCache,Find,% + FindFirst,FindItem,FindLast,FindNext,FindPrevious,Forward,% + GetBookmark,GetChunk,GetClipString,GetData,GetFirstVisible,% + GetFormat,GetHeader,GetLineFromChar,GetNumTicks,GetRows,% + GetSelectedPart,GetText,GetVisibleCount,GoBack,GoForward,Hide,% + HitTest,HoldFields,Idle,InitializeLabels,InsertColumnLabels,% + InsertColumns,InsertObjDlg,InsertRowLabels,InsertRows,Item,% + KillDoc,Layout,Line,LinkExecute,LinkPoke,LinkRequest,LinkSend,% + Listen,LoadFile,LoadResData,LoadResPicture,LoadResString,% + LogEvent,MakeCompileFile,MakeReplica,MoreResults,Move,MoveData,% + MoveFirst,MoveLast,MoveNext,MovePrevious,NavigateTo,NewPage,% + NewPassword,NextRecordset,OLEDrag,OnAddinsUpdate,OnConnection,% + OnDisconnection,OnStartupComplete,Open,OpenConnection,% + OpenDatabase,OpenQueryDef,OpenRecordset,OpenResultset,OpenURL,% + Overlay,PaintPicture,Paste,PastSpecialDlg,PeekData,Play,Point,% + PopulatePartial,PopupMenu,Print,PrintForm,PropertyChanged,Pset,% + Quit,Raise,RandomDataFill,RandomFillColumns,RandomFillRows,% + rdoCreateEnvironment,rdoRegisterDataSource,ReadFromFile,% + ReadProperty,Rebind,ReFill,Refresh,RefreshLink,RegisterDatabase,% + Reload,Remove,RemoveAddInFromToolbar,RemoveItem,Render,% + RepairDatabase,Reply,ReplyAll,Requery,ResetCustom,% + ResetCustomLabel,ResolveName,RestoreToolbar,Resync,Rollback,% + RollbackTrans,RowBookmark,RowContaining,RowTop,Save,SaveAs,% + SaveFile,SaveToFile,SaveToolbar,SaveToOle1File,Scale,ScaleX,% + ScaleY,Scroll,Select,SelectAll,SelectPart,SelPrint,Send,% + SendData,Set,SetAutoServerSettings,SetData,SetFocus,SetOption,% + SetSize,SetText,SetViewport,Show,ShowColor,ShowFont,ShowHelp,% + ShowOpen,ShowPrinter,ShowSave,ShowWhatsThis,SignOff,SignOn,Size,% + Span,SplitContaining,StartLabelEdit,StartLogging,Stop,% + Synchronize,TextHeight,TextWidth,ToDefaults,TwipsToChartPart,% + TypeByChartType,Update,UpdateControls,UpdateRecord,UpdateRow,% + Upto,WhatsThisMode,WriteProperty,ZOrder},% methods + morekeywords=[3]{AccessKeyPress,AfterAddFile,AfterChangeFileName,% + AfterCloseFile,AfterColEdit,AfterColUpdate,AfterDelete,% + AfterInsert,AfterLabelEdit,AfterRemoveFile,AfterUpdate,% + AfterWriteFile,AmbienChanged,ApplyChanges,Associate,% + AsyncReadComplete,AxisActivated,AxisLabelActivated,% + AxisLabelSelected,AxisLabelUpdated,AxisSelected,% + AxisTitleActivated,AxisTitleSelected,AxisTitleUpdated,% + AxisUpdated,BeforeClick,BeforeColEdit,BeforeColUpdate,% + BeforeConnect,BeforeDelete,BeforeInsert,BeforeLabelEdit,% + BeforeLoadFile,BeforeUpdate,ButtonClick,ButtonCompleted,% + ButtonGotFocus,ButtonLostFocus,Change,ChartActivated,% + ChartSelected,ChartUpdated,Click,ColEdit,Collapse,ColResize,% + ColumnClick,Compare,ConfigChageCancelled,ConfigChanged,% + ConnectionRequest,DataArrival,DataChanged,DataUpdated,DblClick,% + Deactivate,DeviceArrival,DeviceOtherEvent,DeviceQueryRemove,% + DeviceQueryRemoveFailed,DeviceRemoveComplete,DeviceRemovePending,% + DevModeChange,Disconnect,DisplayChanged,Dissociate,% + DoGetNewFileName,Done,DonePainting,DownClick,DragDrop,DragOver,% + DropDown,EditProperty,EnterCell,EnterFocus,Event,ExitFocus,% + Expand,FootnoteActivated,FootnoteSelected,FootnoteUpdated,% + GotFocus,HeadClick,InfoMessage,Initialize,IniProperties,% + ItemActivated,ItemAdded,ItemCheck,ItemClick,ItemReloaded,% + ItemRemoved,ItemRenamed,ItemSeletected,KeyDown,KeyPress,KeyUp,% + LeaveCell,LegendActivated,LegendSelected,LegendUpdated,% + LinkClose,LinkError,LinkNotify,LinkOpen,Load,LostFocus,% + MouseDown,MouseMove,MouseUp,NodeClick,ObjectMove,% + OLECompleteDrag,OLEDragDrop,OLEDragOver,OLEGiveFeedback,% + OLESetData,OLEStartDrag,OnAddNew,OnComm,Paint,PanelClick,% + PanelDblClick,PathChange,PatternChange,PlotActivated,% + PlotSelected,PlotUpdated,PointActivated,PointLabelActivated,% + PointLabelSelected,PointLabelUpdated,PointSelected,% + PointUpdated,PowerQuerySuspend,PowerResume,PowerStatusChanged,% + PowerSuspend,QueryChangeConfig,QueryComplete,QueryCompleted,% + QueryTimeout,QueryUnload,ReadProperties,Reposition,% + RequestChangeFileName,RequestWriteFile,Resize,ResultsChanged,% + RowColChange,RowCurrencyChange,RowResize,RowStatusChanged,% + SelChange,SelectionChanged,SendComplete,SendProgress,% + SeriesActivated,SeriesSelected,SeriesUpdated,SettingChanged,% + SplitChange,StateChanged,StatusUpdate,SysColorsChanged,% + Terminate,TimeChanged,TitleActivated,TitleSelected,% + TitleActivated,UnboundAddData,UnboundDeleteRow,% + UnboundGetRelativeBookmark,UnboundReadData,UnboundWriteData,% + Unload,UpClick,Updated,Validate,ValidationError,WillAssociate,% + WillChangeData,WillDissociate,WillExecute,WillUpdateRows,% + WithEvents,WriteProperties},% VB-events + morekeywords=[4]{AppActivate,Base,Beep,Call,Case,ChDir,ChDrive,% + Const,Declare,DefBool,DefByte,DefCur,DefDate,DefDbl,DefDec,% + DefInt,DefLng,DefObj,DefSng,DefStr,Deftype,DefVar,DeleteSetting,% + Dim,Do,Else,ElseIf,End,Enum,Erase,Event,Exit,Explicit,FileCopy,% + For,ForEach,Friend,Function,Get,GoSub,GoTo,If,Implements,Kill,% + Let,LineInput,Lock,Lset,MkDir,Name,Next,OnError,On,Option,% + Private,Property,Public,Put,RaiseEvent,Randomize,ReDim,Rem,% + Reset,Resume,Return,RmDir,Rset,SavePicture,SaveSetting,% + SendKeys,SetAttr,Static,Sub,Then,Type,Unlock,Wend,While,Width,% + With,Write},% statements + sensitive=false,% + keywordcomment=rem,% + MoreSelectCharTable=\def\lst@BeginKC@{% chmod + \lst@ResetToken + \lst@BeginComment\lst@GPmode{{\lst@commentstyle}% + \lst@Lmodetrue\lst@modetrue}\@empty},% + morecomment=[l]{'},% + morecomment=[s]{/*}{*/},% + morestring=[b]",% + }[keywords,comments,strings,keywordcomments] +\lst@definelanguage[ANSI]{C++}[ISO]{C++}{}% +\lst@definelanguage[GNU]{C++}[ISO]{C++}% + {morekeywords={__attribute__,__extension__,__restrict,__restrict__,% + typeof,__typeof__},% + }% +\lst@definelanguage[Visual]{C++}[ISO]{C++}% + {morekeywords={__asm,__based,__cdecl,__declspec,dllexport,% + dllimport,__except,__fastcall,__finally,__inline,__int8,__int16,% + __int32,__int64,naked,__stdcall,thread,__try,__leave},% + }% +\lst@definelanguage[ISO]{C++}[ANSI]{C}% + {morekeywords={and,and_eq,asm,bad_cast,bad_typeid,bitand,bitor,bool,% + catch,class,compl,const_cast,delete,dynamic_cast,explicit,export,% + false,friend,inline,mutable,namespace,new,not,not_eq,operator,or,% + or_eq,private,protected,public,reinterpret_cast,static_cast,% + template,this,throw,true,try,typeid,type_info,typename,using,% + virtual,wchar_t,xor,xor_eq},% + }% +%% +%% Objective-C definition (c) 1997 Detlev Droege +%% +\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},% + moredirectives={import}% + }% +%% +%% Handel-C definition, refer http://www.celoxica.com +%% +\lst@definelanguage[Handel]{C}[ANSI]{C} + {morekeywords={assert,chan,chanin,chanout,clock,delay,expr,external,% + external_divide,family,ifselect,in,inline,interface,internal,% + internal_divid,intwidth,let,macro,mpram,par,part,prialt,proc,ram,% + releasesema,reset,rom,select,sema,set,seq,shared,signal,try,% + reset,trysema,typeof,undefined,width,with,wom},% + }% +\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]{/*}{*/},% + morecomment=[l]//,% nonstandard + morestring=[b]",% + morestring=[b]',% + moredelim=*[directive]\#,% + moredirectives={define,elif,else,endif,error,if,ifdef,ifndef,line,% + include,pragma,undef,warning}% + }[keywords,comments,strings,directives]% +%% +%% C-Sharp definition (c) 2002 Martin Brodbeck +%% +\lst@definelanguage[Sharp]{C}% + {morekeywords={abstract,base,bool,break,byte,case,catch,char,checked,% + class,const,continue,decimal,default,delegate,do,double,else,% + enum,event,explicit,extern,false,finally,fixed,float,for,foreach,% + goto,if,implicit,in,int,interface,internal,is,lock,long,% + namespace,new,null,object,operator,out,override,params,private,% + protected,public,readonly,ref,return,sbyte,sealed,short,sizeof,% + static,string,struct,switch,this,throw,true,try,typeof,uint,% + ulong,unchecked,unsafe,ushort,using,virtual,void,while,% + as,volatile,stackalloc},% Kai K\"ohne + sensitive,% + morecomment=[s]{/*}{*/},% + morecomment=[l]//,% + morestring=[b]" + }[keywords,comments,strings]% +%% +%% csh definition (c) 1998 Kai Below +%% +\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]% +%% +%% bash,sh definition (c) 2003 Riccardo Murri +%% +\lst@definelanguage{bash}[]{sh}% + {morekeywords={alias,bg,bind,builtin,command,compgen,complete,% + declare,disown,enable,fc,fg,history,jobs,et,local,logout,printf,% + pushd,popd,select,set,suspend,shopt,source,times,type,typeset,% + ulimit,unalias,wait},% + }% +\lst@definelanguage{sh}% + {morekeywords={awk,break,case,cat,cd,continue,do,done,echo,else,% + env,eval,exec,expr,exit,export,false,fi,for,function,getopts,% + hash,history,if,kill,nice,nohup,ps,pwd,read,readonly,return,% + sed,shift,test,then,times,trap,true,umask,unset,until,while},% + 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},% + deletecomment=[f],% no fixed comment line: 1998 Magne Rudshaug + morecomment=[l]!% + }% +\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]*,% + morecomment=[f]C,% + morecomment=[f]c,% + morestring=[d]"% + }[keywords,comments,strings]% +\lst@definelanguage{HTML}% + {morekeywords={A,ABBR,ACRONYM,ADDRESS,APPLET,AREA,B,BASE,BASEFONT,% + BDO,BIG,BLOCKQUOTE,BODY,BR,BUTTON,CAPTION,CENTER,CITE,CODE,COL,% + COLGROUP,DD,DEL,DFN,DIR,DIV,DL,DOCTYPE,DT,EM,FIELDSET,FONT,FORM,% + FRAME,FRAMESET,HEAD,HR,H1,H2,H3,H4,H5,H6,HTML,I,IFRAME,IMG,INPUT,% + INS,ISINDEX,KBD,LABEL,LEGEND,LH,LI,LINK,LISTING,MAP,META,MENU,% + NOFRAMES,NOSCRIPT,OBJECT,OPTGROUP,OPTION,P,PARAM,PLAINTEXT,PRE,% + OL,Q,S,SAMP,SCRIPT,SELECT,SMALL,SPAN,STRIKE,STRING,STRONG,STYLE,% + SUB,SUP,TABLE,TBODY,TD,TEXTAREA,TFOOT,TH,THEAD,TITLE,TR,TT,U,UL,% + VAR,XMP,% + accesskey,action,align,alink,alt,archive,axis,background,bgcolor,% + border,cellpadding,cellspacing,charset,checked,cite,class,classid,% + code,codebase,codetype,color,cols,colspan,content,coords,data,% + datetime,defer,disabled,dir,event,error,for,frameborder,headers,% + height,href,hreflang,hspace,http-equiv,id,ismap,label,lang,link,% + longdesc,marginwidth,marginheight,maxlength,media,method,multiple,% + name,nohref,noresize,noshade,nowrap,onblur,onchange,onclick,% + ondblclick,onfocus,onkeydown,onkeypress,onkeyup,onload,onmousedown,% + profile,readonly,onmousemove,onmouseout,onmouseover,onmouseup,% + onselect,onunload,rel,rev,rows,rowspan,scheme,scope,scrolling,% + selected,shape,size,src,standby,style,tabindex,text,title,type,% + units,usemap,valign,value,valuetype,vlink,vspace,width,xmlns},% + tag=**[s]<>,% + sensitive=f,% + morestring=[d]",% ??? doubled + MoreSelectCharTable=% + \lst@CArgX--\relax\lst@DefDelimB{}{}% + {\ifnum\lst@mode=\lst@tagmode\else + \expandafter\@gobblethree + \fi}% + \lst@BeginComment\lst@commentmode{{\lst@commentstyle}}% + \lst@CArgX--\relax\lst@DefDelimE{}{}{}% + \lst@EndComment\lst@commentmode + }[keywords,comments,strings,html]% +%% +%% AspectJ definition (c) Robert Wenner +%% +\lst@definelanguage[AspectJ]{Java}[]{Java}% + {morekeywords={% + adviceexecution,after,args,around,aspect,aspectOf,before,% + call,cflow,cflowbelow,% + execution,get,handler,if,initialization,issingleton,pointcut,% + percflow,percflowbelow,perthis,pertarget,preinitialization,% + privileged,proceed,returning,set,staticinitialization,strictfp,% + target,this,thisEnclosingJoinPoint,thisJoinPoint,throwing,% + within,withincode},% + MoreSelectCharTable=% + \lst@DefSaveDef{`.}\lst@umdot{\lst@umdot\global\let\lst@derefop\@empty}% + \ifx\lst@derefinstalled\@empty\else + \global\let\lst@derefinstalled\@empty +\lst@AddToHook{Output}% +{\lst@ifkeywords + \ifx\lst@derefop\@empty + \global\let\lst@derefop\relax + \ifx\lst@thestyle\lst@gkeywords@sty + \ifx\lst@currstyle\relax + \let\lst@thestyle\lst@identifierstyle + \else + \let\lst@thestyle\lst@currstyle + \fi + \fi + \fi + \fi} +\lst@AddToHook{BOL}{\global\let\lst@derefop\relax}% +\lst@AddTo\lst@ProcessSpace{\global\let\lst@derefop\relax}% + \fi + }% +\lst@definelanguage{Java}% + {morekeywords={abstract,boolean,break,byte,case,catch,char,class,% + const,continue,default,do,double,else,extends,false,final,% + finally,float,for,goto,if,implements,import,instanceof,int,% + interface,label,long,native,new,null,package,private,protected,% + public,return,short,static,super,switch,synchronized,this,throw,% + throws,transient,true,try,void,volatile,while},% + sensitive,% + morecomment=[l]//,% + morecomment=[s]{/*}{*/},% + morestring=[b]",% + morestring=[b]',% + }[keywords,comments,strings]% +%% +%% ByteCodeJava definition (c) 2004 Martine Gautier +%% +\lst@definelanguage{JVMIS}% + {morekeywords={aaload,astore,aconst_null,aload,aload_0,aload_1,% + aload_2,aload_3,anewarray,areturn,arraylength,astore,astore_0,% + astore_1,astore_2,astore_3,athrow,baload,bastore,bipush,caload,% + castore,checkcast,d2f,d2i,d2l,dadd,daload,dastore,dcmpg,dcmpl,% + dconst_0,dconst_1,ddiv,dload,dload_0,dload_1,dload_2,dload_3,% + dmul,dneg,drem,dreturn,dstore,dstore_0,dstore_1,dstore_2,% + dstore_3,dsub,dup,dup_x1,dup_x2,dup2,dup2_x1,dup2_x2,f2d,% + f2i,f2l,fadd,faload,fastore,fcmpg,fcmpl,fconst_0,fconst_1,% + fconst_2,fdiv,fload,fload_0,fload_1,fload_2,fload_3,fmul,% + fneg,frem,freturn,fstore,fstore_0,fstore_1,fstore_2,fstore_3,% + fsub,getfield,getstatic,goto,goto_w,i2b,i2c,i2d,i2f,i2l,i2s,% + iadd,iaload,iand,iastore,iconst_0,iconst_1,iconst_2,iconst_3,% + iconst_4,iconst_5,idiv,if_acmpeq,if_acmpne,if_icmpeq,if_icmpne,% + if_icmplt,if_cmpge,if_cmpgt,if_cmple,ifeq,ifne,iflt,ifge,ifgt,% + ifle,ifnonnull,ifnull,iinc,iload,iload_0,iload_1,iload_2,% + iload_3,imul,ineg,instanceof,invokeinterface,invokespecial,% + invokestatic,invokevirtual,ior,irem,ireturn,ishl,ishr,istore,% + istore_0,istore_1,istore_2,istore_3,isub,iushr,ixor,jsr,jsr_w,% + l2d,l2f,l2i,ladd,laload,land,lastore,lcmp,lconst_0,lconst_1,% + ldc,ldc_w,ldc2_w,ldiv,lload,lload_0,lload_1,lload_2,lload_3,% + lmul,lneg,lookupswitch,lor,lrem,lreturn,lshl,lshr,lstore,% + lstore_0,lstore_1,lstore_2,lstore_3,lsub,lushr,lxor,% + monitorenter,monitorexit,multianewarray,new,newarray,nop,pop,% + pop2,putfield,putstatic,ret,return,saload,sastore,sipush,swap,% + tableswitch,wide,limit,locals,stack},% + }[keywords]% +\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 +%% +\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]% +%% +%% Octave definition (c) 2001,2002 Ulrich G. Wortmann +%% +\lst@definelanguage{Octave}% + {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,% + 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,% + stderr,stdout,plot,set,endif,wk1write,xlabel,xor,ylabel,zeros,% + zlabel,zoom,endwhile,endfunction},% + sensitive=f,% + morecomment=[l]\#,% + morecomment=[l]\#\#,% + morestring=[m]',% + morestring=[m]"% + }[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=[s]{(*}{*)},% + morecomment=[s]{\{}{\}},% + 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\"ollmann +%% +\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},% + moredelim=*[directive]\#,% + sensitive,% + morecomment=[l]//,% + morecomment=[s]{/*}{*/},% + morestring=[d]",% + }[keywords,directives,comments,strings]% +%% +%% Python definition (c) 1998 Michael Weber +%% +\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 + morecomment=[s]{"""}{"""},% added by Philipp Matthias Hahn + morestring=[b]',% + morestring=[b]"% + }% +%% +%% Scilab definition (c) 2002,2003 Jean-Philippe Grivet +%% +\lst@definelanguage{Scilab}% + {morekeywords={abcd,abinv,abort,abs,acoshm,acosh,acosm,acos,addcolor,% + addf,addinter,addmenu,add_edge,add_node,adj2sp,adj_lists,aff2ab,% + amell,analpf,analyze,ans,apropos,arc_graph,arc_number,argn,arhnk,% + arl2,arma2p,armac,armax1,armax,arma,arsimul,artest,articul,ascii,% + asinhm,asinh,asinm,asin,atanhm,atanh,atanm,atan,augment,auread,% + auwrite,balanc,balreal,bandwr,basename,bdiag,besseli,besselj,% + besselk,bessely,best_match,bezout,bifish,bilin,binomial,black,% + bloc2exp,bloc2ss,bode,bool2s,boolean,boucle,break,bstap,buttmag,% + bvode,cainv,calerf,calfrq,call,canon,casc,case,ccontrg,cdfbet,% + cdfbin,cdfchi,cdfchn,cdffnc,cdff,cdfgam,cdfnbn,cdfnor,cdfpoi,% + cdft,ceil,center,cepstrum,chaintest,chain_struct,champ1,champ,% + chart,chdir,cheb1mag,cheb2mag,check_graph,check_io,chepol,chfact,% + chol,chsolve,circuit,classmarkov,clean,clearfun,clearglobal,% + clear,close,cls2dls,cmb_lin,cmndred,cmoment,code2str,coeff,coffg,% + coff,colcompr,colcomp,colinout,colormap,colregul,companion,comp,% + cond,conj,connex,contour2di,contour2d,contourf,contour,% + contract_edge,contrss,contr,cont_frm,cont_mat,convex_hull,convol,% + convstr,con_nodes,copfac,copy,correl,corr,coshm,cosh,cosm,cos,% + cotg,cothm,coth,covar,csim,cspect,ctr_gram,cumprod,cumsum,% + curblock,cycle_basis,czt,c_link,dasrt,dassl,datafit,date,dbphi,% + dcf,ddp,debug,dec2hex,deff,definedfields,degree,delbpt,% + delete_arcs,delete_nodes,delete,delip,delmenu,demos,denom,% + derivative,derivat,des2ss,des2tf,determ,detr,det,dft,dhinf,% + dhnorm,diag,diary,diff,diophant,dirname,dispbpt,dispfiles,disp,% + dlgamma,double,dragrect,drawaxis,drawlater,drawnow,draw,driver,% + dscr,dsearch,dsimul,dtsi,dt_ility,duplicate,edge_number,% + edit_curv,edit_graph_menus,edit_graph,edit,eigenmarkov,ell1mag,% + elseif,else,emptystr,endfunction,end,eqfir,eqiir,equil1,equil,% + ereduc,erfcx,erfc,erf,errbar,errcatch,errclear,error,eval3dp,% + eval3d,eval,evans,evstr,excel2sci,execstr,exec,exists,exit,expm,% + exp,external,eye,fac3d,factors,faurre,fchamp,fcontour2d,fcontour,% + fec,feedback,feval,ffilt,fftshift,fft,fgrayplot,figure,fileinfo,% + file,filter,findm,findobj,findx0BD,find_freq,find_path,find,% + findABCD,findAC,findBD,findBDK,findR,fit_dat,fix,floor,flts,foo,% + formatman,format,fort,for,fourplan,fplot2d,fplot3d1,fplot3d,% + fprintf,fprintfMat,frep2tf,freq,freson,frexp,frfit,frmag,fscanf,% + fscanfMat,fsfirlin,fsolve,fspecg,fstabst,fstair,ftest,ftuneq,% + fullrfk,fullrf,full,fun2string,funcprot,functions,function,% + funptr,fusee,gainplot,gamitg,gammaln,gamma,gcare,gcd,gcf,% + genfac3d,genlib,genmarkov,gen_net,geom3d,geomean,getblocklabel,% + getcolor,getcurblock,getcwd,getdate,getd,getenv,getfield,getfont,% + getf,getio,getlinestyle,getmark,getpid,getscicosvars,getsymbol,% + getvalue,getversion,get_function_path,get,gfare,gfrancis,girth,% + givens,glever,glist,global,glue,gpeche,graduate,grand,% + graphics_entities,graph_2_mat,graph_center,graph_complement,% + graph_diameter,graph_power,graph_simp,graph_sum,graph_union,% + graph-list,graycolormap,grayplot,graypolarplot,grep,group,% + gr_menu,gschur,gsort,gspec,gstacksize,gtild,g_margin,h2norm,halt,% + hamilton,hankelsv,hank,harmean,havewindow,help,hermit,hess,% + hex2dec,hilb,hinf,hist3d,histplot,horner,host,hotcolormap,% + householder,hrmt,htrianr,hypermat,h_cl,h_inf_st,h_inf,h_norm,% + iconvert,icon_edit,ieee,if,iirgroup,iirlp,iir,ilib_build,% + ilib_compile,ilib_for_link,ilib_gen_gateway,ilib_gen_loader,% + ilib_gen_Make,imag,impl,imrep2ss,imult,im_inv,inistate,input,% + int16,int2d,int32,int3d,int8,intc,intdec,integrate,interpln,% + interp,intersci,intersect,intg,intl,intppty,intsplin,inttrap,% + inttype,int,invr,invsyslin,inv_coeff,inv,iqr,isdef,isdir,isequal,% + iserror,isglobal,isinf,isnan,isoview,isreal,is_connex,jmat,% + justify,kalm,karmarkar,kernel,keyboard,knapsack,kpure,krac2,% + kroneck,kron,lasterror,lattn,lattp,lcf,lcmdiag,lcm,ldivf,ldiv,% + leastsq,legends,length,leqr,levin,lev,lex_sort,lft,lgfft,library,% + lib,lin2mu,lincos,lindquist,lines,line_graph,linfn,linf,link,% + linmeq,linpro,linsolve,linspace,lin,listfiles,list,lmisolver,% + lmitool,loadmatfile,loadplots,loadwave,load_graph,load,locate,% + log10,log1p,log2,logm,logspace,log,lotest,lqe,lqg2stan,lqg_ltr,% + lqg,lqr,lsq,lsslist,lstcat,lstsize,ltitr,ludel,lufact,luget,% + lusolve,lu,lyap,macglov,macr2lst,macrovar,macro,mad,make_graph,% + make_index,manedit,man,mapsound,markp2ss,matfile2sci,matrix,% + mat_2_graph,maxi,max_cap_path,max_clique,max_flow,max,mclearerr,% + mclose,meanf,mean,median,meof,mese,mesh2d,mfft,mfile2sci,mgeti,% + mgetl,mgetstr,mget,milk_drop,mine,mini,minreal,minss,% + min_lcost_cflow,min_lcost_flow1,min_lcost_flow2,min_qcost_flow,% + min_weight_tree,min,mlist,mode,modulo,moment,mopen,move,% + mps2linpro,mputl,mputstr,mput,mrfit,msd,mseek,mtell,mtlb_load,% + mtlb_mode,mtlb_save,mtlb_sparse,mu2lin,mulf,mvvacov,m_circle,% + names,nand2mean,nanmax,nanmeanf,nanmean,nanmedian,nanmin,% + nanstdev,nansum,narsimul,ndims,nearfloat,nehari,neighbors,% + netclose,netwindows,netwindow,newest,newfun,nextpow2,nf3d,nfreq,% + nlev,nnz,nodes_2_path,nodes_degrees,node_number,noisegen,norm,% + null,numdiff,numer,nyquist,obscont1,obscont,observer,obsvss,% + obsv_mat,obs_gram,odedc,odedi,odeoptions,ode_discrete,ode_root,% + ode,oldload,oldsave,ones,optim,orth,param3d1,param3d,% + paramfplot2d,parrot,part,pathconvert,path_2_nodes,pause,pbig,% + pdiv,pen2ea,pencan,penlaur,perctl,perfect_match,pertrans,pfss,% + phasemag,phc,pinv,pipe_network,playsnd,plot2d1,plot2d2,plot2d3,% + plot2d4,plot2d,plot3d1,plot3d2,plot3d3,plot3d,plotframe,% + plotprofile,plot_graph,plot,plzr,pmodulo,pol2des,pol2str,pol2tex,% + polarplot,polar,polfact,poly,portr3d,portrait,power,ppol,prbs_a,% + predecessors,predef,printf,printing,print,prod,profile,projsl,% + projspec,proj,psmall,pspect,pvm_addhosts,pvm_barrier,pvm_bcast,% + pvm_bufinfo,pvm_config,pvm_delhosts,pvm_error,pvm_exit,% + pvm_f772sci,pvm_getinst,pvm_gettid,pvm_get_timer,pvm_gsize,% + pvm_halt,pvm_joingroup,pvm_kill,pvm_lvgroup,pvm_mytid,pvm_parent,% + pvm_probe,pvm_recv,pvm_reduce,pvm_sci2f77,pvm_send,pvm_set_timer,% + pvm_spawn_independent,pvm_spawn,pvm_start,pvm_tasks,% + pvm_tidtohost,pvm,pwd,p_margin,qassign,qr,quapro,quart,quaskro,% + quit,randpencil,rand,range,rankqr,rank,rat,rcond,rdivf,read4b,% + readb,readc_,readmps,read,real,recur,reglin,regress,remezb,remez,% + repfreq,replot,residu,resume,return,riccati,riccsl,ricc,ric_desc,% + rlist,roots,rotate,round,routh_t,rowcompr,rowcomp,rowinout,% + rowregul,rowshuff,rpem,rref,rtitr,rubberbox,salesman,savewave,% + save_graph,save,scaling,scanf,schur,sci2exp,sci2for,sci2map,% + sciargs,scicosim,scicos,scifunc_block,sd2sci,secto3d,select,% + semidef,sensi,setbpt,seteventhandler,setfield,setmenu,% + setscicosvars,set,sfact,sgrid,shortest_path,showprofile,% + show_arcs,show_graph,show_nodes,sident,signm,sign,simp_mode,simp,% + sincd,sinc,sinc,sinhm,sinh,sinm,sin,size,sm2des,sm2ss,smooth,% + solve,sorder,sort,sound,sp2adj,spaninter,spanplus,spantwo,sparse,% + spchol,spcompack,specfact,spec,speye,spget,splin,split_edge,% + spones,sprand,sprintf,spzeros,sqroot,sqrtm,sqrt,squarewave,% + square,srfaur,srkf,ss2des,ss2ss,ss2tf,sscanf,sskf,ssprint,ssrand,% + stabil,stacksize,standard_define,standard_draw,standard_input,% + standard_origin,standard_output,startup,stdevf,stdev,steadycos,% + str2code,strange,strcat,strindex,strings,string,stripblanks,% + strong_connex,strong_con_nodes,strsubst,st_deviation,st_ility,% + subf,subgraph,subplot,successors,sum,supernode,sva,svd,svplot,% + sylm,sylv,sysconv,sysdiag,sysfact,syslin,syssize,systems,system,% + systmat,tabul,tangent,tanhm,tanh,tanm,tan,tdinit,testmatrix,% + texprint,tf2des,tf2ss,then,thrownan,timer,time_id,titlepage,% + tk_getdir,tk_getfile,tlist,toeplitz,tokenpos,tokens,trace,% + translatepaths,trans_closure,trans,trfmod,trianfml,tril,trimmean,% + trisolve,triu,trzeros,typename,typeof,type,uicontrol,uimenu,% + uint16,uint32,uint8,ui_observer,ulink,unglue,union,unique,unix_g,% + unix_s,unix_w,unix_x,unix,unobs,unsetmenu,user,varargin,% + varargout,variancef,variance,varn,warning,wavread,wavwrite,% + wcenter,wfir,what,whereami,whereis,where,while,whos,who_user,who,% + wiener,wigner,window,winsid,with_gtk,with_pvm,with_texmacs,% + with_tk,writb,write4b,write,xarcs,xarc,xarrows,xaxis,xbasc,% + xbasimp,xbasr,xchange,xclear,xclea,xclick,xclip,xdel,xend,xfarcs,% + xfarc,xfpolys,xfpoly,xfrect,xgetech,xgetfile,xgetmouse,xget,% + xgraduate,xgrid,xinfo,xinit,xlfont,xload,xname,xnumb,xpause,% + xpolys,xpoly,xrects,xrect,xrpoly,xs2fig,xs2gif,xs2ppm,xs2ps,% + xsave,xsegs,select,xsetech,xsetm,xset,xstringb,xstringl,xstring,% + xtape,xtitle,x_choices,x_choose,x_dialog,x_matrix,x_mdialog,% + x_message_modeless,x_message,yulewalk,zeropen,zeros,zgrid,zpbutt,% + zpch1,zpch2,zpell,mfprintf,mfscanf,mprintf,mscanf,msprintf,% + msscanf,mucomp,% + ABSBLK_f,AFFICH_f,ANDLOG_f,ANIMXY_f,BIGSOM_f,CLINDUMMY_f,CLKIN_f,% + CLKINV_f,CLKOUT_f,CLKOUTV_f,CLKSOM_f,CLKSOMV_f,CLKSPLIT_f,% + CLOCK_f,CLR_f,CLSS_f,CONST_f,COSBLK_f,CURV_f,DELAY_f,DELAYV_f,% + DEMUX_f,DLR_f,DLRADAPT_f,DLSS_f,EVENTSCOPE_f,EVTDLY_f,EVTGEN_f,% + EXPBLK_f,G_make,GAIN_f,GAINBLK_f,GENERAL_f,GENERIC_f,GENSIN_f,% + GENSQR_f,HALT_f,IFTHEL_f,IN_f,INTEGRAL_f,INTRP2BLK_f,INTRPLBLK_f,% + INVBLK_f,LOGBLK_f,LOOKUP_f,Matplot1,Matplot,MAX_f,MCLOCK_f,% + MFCLCK_f,MIN_f,MUX_f,NDcost,NEGTOPOS_f,OUT_f,POSTONEG_f,POWBLK_f,% + PROD_f,QUANT_f,RAND_f,READC_f,REGISTER_f,RELAY_f,RFILE_f,% + ScilabEval,Sfgrayplot,Sgrayplot,SAMPLEHOLD_f,SAT_f,SAWTOOTH_f,% + SCOPE_f,SCOPXY_f,SELECT_f,SINBLK_f,SOM_f,SPLIT_f,STOP_f,SUPER_f,% + TANBLK_f,TCLSS_f,TEXT_f,TIME_f,TK_EvalFile,TK_EvalStr,TK_GetVar,% + TK_SetVar,TRASH_f,WFILE_f,WRITEC_f,ZCROSS_f,% + \%asn,\%helps,\%k,\%sn},% + alsoletter=\%,% chmod + sensitive,% + morecomment=[l]//,% + morestring=[b]",% + morestring=[m]'% + }[keywords,comments,strings]% +%% +%% SQL definition (c) 1998 Christian Haul +%% (c) 2002 Neil Conway +%% (c) 2002 Robert Frank +%% (c) 2003 Dirk Jesko +%% +\lst@definelanguage{SQL}% + {morekeywords={ABSOLUTE,ACTION,ADD,ALLOCATE,ALTER,ARE,AS,ASSERTION,% + AT,BETWEEN,BIT_LENGTH,BOTH,BY,CASCADE,CASCADED,CASE,CAST,% + CATALOG,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,DAY,DEALLOCATE,% + DEC,DEFERRABLE,DEFERED,DESCRIBE,DESCRIPTOR,DIAGNOSTICS,% + DISCONNECT,DOMAIN,DROP,ELSE,END,EXEC,EXCEPT,EXCEPTION,EXECUTE,% + EXTERNAL,EXTRACT,FALSE,FIRST,FOREIGN,FROM,FULL,GET,GLOBAL,% + GRAPHIC,HAVING,HOUR,IDENTITY,IMMEDIATE,INDEX,INITIALLY,INNER,% + INPUT,INSENSITIVE,INSERT,INTO,INTERSECT,INTERVAL,% + ISOLATION,JOIN,KEY,LAST,LEADING,LEFT,LEVEL,LIMIT,LOCAL,LOWER,% + MATCH,MINUTE,MONTH,NAMES,NATIONAL,NATURAL,NCHAR,NEXT,NO,NOT,NULL,% + NULLIF,OCTET_LENGTH,ON,ONLY,ORDER,ORDERED,OUTER,OUTPUT,OVERLAPS,% + PAD,PARTIAL,POSITION,PREPARE,PRESERVE,PRIMARY,PRIOR,READ,% + RELATIVE,RESTRICT,REVOKE,RIGHT,ROWS,SCROLL,SECOND,SELECT,SESSION,% + SESSION_USER,SIZE,SPACE,SQLSTATE,SUBSTRING,SYSTEM_USER,% + TABLE,TEMPORARY,THEN,TIMEZONE_HOUR,% + TIMEZONE_MINUTE,TRAILING,TRANSACTION,TRANSLATE,TRANSLATION,TRIM,% + TRUE,UNIQUE,UNKNOWN,UPPER,USAGE,USING,VALUE,VALUES,% + VARGRAPHIC,VARYING,WHEN,WHERE,WRITE,YEAR,ZONE,% + AND,ASC,avg,CHECK,COMMIT,count,DECODE,DESC,DISTINCT,GROUP,IN,% FF + LIKE,NUMBER,ROLLBACK,SUBSTR,sum,VARCHAR2,% FF + MIN,MAX,UNION,UPDATE,% RF + ALL,ANY,CUBE,CUBE,DEFAULT,DELETE,EXISTS,GRANT,OR,RECURSIVE,% DJ + ROLE,ROLLUP,SET,SOME,TRIGGER,VIEW},% DJ + morendkeywords={BIT,BLOB,CHAR,CHARACTER,CLOB,DATE,DECIMAL,FLOAT,% DJ + INT,INTEGER,NUMERIC,SMALLINT,TIME,TIMESTAMP,VARCHAR},% moved here + sensitive=false,% DJ + morecomment=[l]--,% + morecomment=[s]{/*}{*/},% + morestring=[d]',% + morestring=[d]"% + }[keywords,comments,strings]% +%% +%% VHDL definition (c) 1997 Kai Wollenweber +%% +\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,% + DISCONNECT,ELIF,WITH},% Arnaud Tisserand + sensitive=f,% 1998 Gaurav Aggarwal + morecomment=[l]--,% + morestring=[d]{"}% + }[keywords,comments,strings]% +%% +%% VHDL-AMS definition (c) Steffen Klupsch +%% +\lst@definelanguage[AMS]{VHDL}[]{VHDL}% + {morekeywords={ACROSS,ARRAY,BREAK,DISCONNECT,NATURE,NOISE,PORT,% + PROCEDURAL,QUANTITY,SHARED,SPECTRUM,SUBNATURE,TERMINAL,THROUGH,% + TOLERANCE,UNAFFACTED,UNITS}} +\lst@definelanguage{XSLT}[]{XML}% + {morekeywords={% + % main elements + xsl:stylesheet,xsl:transform,% + % childs of the main element + xsl:apply-imports,xsl:attribute-set,xsl:decimal-format,xsl:import,% + xsl:include,xsl:key,xsl:namespace-alias,xsl:output,xsl:param,% + xsl:preserve-space,xsl:strip-space,xsl:template,xsl:variable,% + % 21 directives + xsl:apply-imports,xsl:apply-templates,xsl:attribute,% + xsl:call-template,xsl:choose,xsl:comment,xsl:copy,xsl:copy-of,% + xsl:element,xsl:fallback,xsl:for-each,xsl:if,xsl:message,% + xsl:number,xsl:otherwise,xsl:processing-instruction,xsl:text,% + xsl:value-of,xsl:variable,xsl:when,xsl:with-param},% + alsodigit={-},% + }% +\lst@definelanguage{Ant}[]{XML}% + {morekeywords={% + project,target,patternset,include,exclude,excludesfile,includesfile,filterset,% + filter,filtersfile,libfileset,custom,classpath,fileset,none,depend,mapper,% + filename,not,date,contains,selector,depth,or,and,present,majority,size,dirset,% + filelist,pathelement,path,param,filterreader,extension,filterchain,linecontainsregexp,% + regexp,classconstants,headfilter,tabstospaces,striplinebreaks,tailfilter,stripjavacomments,% + expandproperties,linecontains,replacetokens,token,striplinecomments,comment,prefixlines,% + classfileset,rootfileset,root,description,xmlcatalog,entity,dtd,substitution,% + extensionSet,propertyfile,entry,vsscheckin,sql,transaction,cvspass,csc,% + dirname,wlrun,wlclasspath,p4label,replaceregexp,get,jjtree,sleep,jarlib,% + dependset,targetfileset,srcfileset,srcfilelist,targetfilelist,zip,zipgroupfileset,zipfileset,% + patch,jspc,webapp,style,test,arg,jvmarg,sysproperty,testlet,env,tstamp,% + format,unwar,vsshistory,icontract,cvschangelog,user,p4submit,ccmcheckin,% + p4change,bzip2,vssadd,javadoc,bottom,source,doctitle,header,excludepackage,bootclasspath,% + doclet,taglet,packageset,sourcepath,link,footer,package,group,title,tag,% + translate,signjar,vajload,vajproject,jarlib,extensionset,WsdlToDotnet,buildnumber,% + jpcovmerge,tomcat,ejbjar,weblogictoplink,jboss,borland,weblogic,iplanet,jonas,% + support,websphere,wasclasspath,war,manifest,attribute,section,metainf,lib,% + classes,webinf,rename,sequential,serverdeploy,generic,property,move,% + copydir,cccheckin,wljspc,fixcrlf,sosget,pathconvert,map,record,p4sync,exec,% + p4edit,maudit,rulespath,searchpath,antlr,netrexxc,jpcovreport,reference,filters,% + coveragepath,execon,targetfile,srcfile,ccmcheckout,ant,xmlvalidate,xslt,% + iplanet,ccmcheckintask,gzip,native2ascii,starteam,ear,archives,input,% + rmic,extdirs,compilerarg,checksum,mail,bcc,message,cc,to,from,loadfile,vsscheckout,% + stylebook,soscheckin,mimemail,stlabel,gunzip,concat,cab,touch,parallel,splash,% + antcall,cccheckout,typedef,p4have,xmlproperty,copy,tomcat,antstructure,ccmcreatetask,% + rpm,delete,replace,replacefilter,replacetoken,replacevalue,mmetrics,waitfor,isfalse,% + equals,available,filepath,os,filesmatch,istrue,isset,socket,http,uptodate,srcfiles,% + untar,loadproperties,echoproperties,vajexport,stcheckout,bunzip2,copyfile,vsscreate,% + ejbc,unjar,tomcat,wsdltodotnet,mkdir,condition,cvs,commandline,marker,argument,% + tempfile,junitreport,report,taskdef,echo,ccupdate,java,renameext,vsslabel,basename,% + javadoc2,vsscp,tar,tarfileset,tomcat,vajimport,setproxy,wlstop,p4counter,ilasm,% + soscheckout,apply,ccuncheckout,jarlib,location,url,cvstagdiff,jlink,mergefiles,% + addfiles,javacc,pvcs,pvcsproject,jarlib,options,depends,chmod,jar,sound,fail,% + success,mparse,blgenclient,genkey,dname,javah,class,ccmreconfigure,unzip,javac,% + src,p4add,soslabel,jpcoverage,triggers,method,vssget,deltree,ddcreator}, + deletekeywords={default},% + } +\lst@definelanguage{XML}% + {keywords={,CDATA,DOCTYPE,ATTLIST,termdef,ELEMENT,EMPTY,ANY,ID,% + IDREF,IDREFS,ENTITY,ENTITIES,NMTOKEN,NMTOKENS,NOTATION,% + INCLUDE,IGNORE,SYSTEM,PUBLIC,NDATA,PUBLIC,% + PCDATA,REQUIRED,IMPLIED,FIXED,%%% preceded by # + xml,xml:space,xml:lang,version,standalone,default,preserve},% + alsoother=$,% + alsoletter=:,% + tag=**[s]<>,% + morestring=[d]",% ??? doubled + morestring=[d]',% ??? doubled + MoreSelectCharTable=% + \lst@CArgX--\relax\lst@DefDelimB{}{}% + {\ifnum\lst@mode=\lst@tagmode\else + \expandafter\@gobblethree + \fi}% + \lst@BeginComment\lst@commentmode{{\lst@commentstyle}}% + \lst@CArgX--\relax\lst@DefDelimE{}{}{}% + \lst@EndComment\lst@commentmode + \lst@CArgX[CDATA[\relax\lst@CDef{}% + {\ifnum\lst@mode=\lst@tagmode + \expandafter\lst@BeginCDATA + \else \expandafter\lst@CArgEmpty + \fi}% + \@empty + \lst@CArgX]]\relax\lst@CDef{}% + {\ifnum\lst@mode=\lst@GPmode + \expandafter\lst@EndComment + \else \expandafter\lst@CArgEmpty + \fi}% + \@empty + }[keywords,comments,strings,html]% +\endinput +%% +%% End of file `lstlang1.sty'. diff -r 2c619ec34ae4 -r 7fdca589238f nonDefaultPackage/lstlang2.sty --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nonDefaultPackage/lstlang2.sty Tue Mar 25 23:16:29 2008 +0900 @@ -0,0 +1,1532 @@ +%% +%% This is file `lstlang2.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lstdrvrs-1.3.dtx (with options: `lang2') +%% +%% (w)(c) 1996/1997/1998/1999/2000/2001/2002/2003/2004 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. +%% +%% Send comments and ideas on the package, error reports and additional +%% programming languages to . +%% +\ProvidesFile{lstlang2.sty} + [2004/09/05 1.3 listings language file] +%% +%% Abap definition by Knut Lickert +%% +\lst@definelanguage[R/3 6.10]{ABAP}[R/3 4.6C]{ABAP}% + {morekeywords={try,endtry},% + }[keywords,comments,strings] +\lst@definelanguage[R/3 4.6C]{ABAP}[R/3 3.1]{ABAP}% + {morekeywords={method,ref,class,create,object,% + methods,endmethod,private,protected,public,section,% + catch,system-exceptions,endcatch,% + },% + moreprocnamekeys={class},% + literate={->}{{$\rightarrow$}}1{=>}{{$\Rightarrow$}}1,% + }[keywords,comments,strings,procnames] +\lst@definelanguage[R/3 3.1]{ABAP}[R/2 5.0]{ABAP}{}% +\lst@definelanguage[R/2 5.0]{ABAP}% + {sensitive=f,% + procnamekeys={report,program,form,function,module},% + morekeywords={*,add,after,alias,analyzer,and,append,appending,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,corresponding,cos,cp,cs,currency-conversion,% + cursor,data,database,dataset,decimals,define,delete,deleting,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,fields,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,leading,left-justified,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,right-justified,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]*,% + morestring=[d]'% + }[keywords,comments,strings,procnames] +\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 +%% +\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},% + moredelim=*[directive]\#,% + morecomment=[l]//,% + morecomment=[s]{/*}{*/},% + morestring=[b]"% + }[keywords,comments,strings,directives]% +%% +%% (Objective) Caml definition (c) 1999 Patrick Cousot +%% +%% 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,% + object,ref},% TH + }% +\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]",% + moredelim=*[directive]\#,% + 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},% + alsodigit=-,% + sensitive=f,% ??? + morecomment=[f][commentstyle][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=[s]{(*}{*)},% + morecomment=[s]{\{}{\}},% + morecomment=[l]{//},% 2001 Christian Gudrian + 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]",% + }[keywords,comments,strings]% +%% +%% Euphoria definition (c) 1998 Detlef Reimers +%% +\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]% +%% +%% Guarded Command Language (GCL) definition +%% (c) 2002 Mark van Eijk +%% +\lst@definelanguage{GCL}% + {morekeywords={const,con,var,array,of,skip,if,fi,do,od,div,mod},% + literate={|[}{\ensuremath{|\hskip -0.1em[}}2% + {]|}{\ensuremath{]\hskip -0.1em|}}2% + {[]}{\ensuremath{[\hskip -0.1em]}}2% + {->}{\ensuremath{\rightarrow}~}2% + {==}{\ensuremath{\equiv}~}2% + {>=}{\ensuremath{\geq}~}2% + {<=}{\ensuremath{\leq}~}2% + {/\\}{\ensuremath{\land}~}2% + {\\/}{\ensuremath{\lor}~}2% + {!}{\ensuremath{\lnot}}1% + {!=}{\ensuremath{\neq}~}2% + {max}{\ensuremath{\uparrow}}1% + {min}{\ensuremath{\downarrow}}1,% + sensitive=f,% + morecomment=[s]{\{}{\}},% + morestring=[d]'% + }[keywords,comments,strings]% +%% +%% gnuplot definition (c) Christoph Giess +%% +\lst@definelanguage{Gnuplot}% + {keywords={abs,acos,acosh,arg,asin,asinh,atan,atan2,atanh,besj0,% + besj1,besy0,besy1,ceil,cos,cosh,erf,erfc,exp,floor,gamma,ibeta,% + inverf,igamma,imag,invnorm,int,lgamma,log,log10,norm,rand,real,% + sgn,sin,sinh,sqrt,tan,tanh,column,tm_hour,tm_mday,tm_min,tm_mon,% + tm_sec,tm_wday,tm_yday,tm_year,valid,cd,call,clear,exit,fit,% + help,if,load,pause,plot,print,pwd,quit,replot,reread,reset,save,% + set,show,shell,splot,test,update,angles,arrow,autoscale,border,% + boxwidth,clabel,clip,cntrparam,contour,data,dgrid3d,dummy,% + format,function,functions,grid,hidden3d,isosamples,key,keytitle,% + label,logscale,mapping,offsets,output,parametric,pointsize,% + polar,rrange,samples,size,style,surface,terminal,tics,time,% + timefmt,title,trange,urange,variables,view,vrange,xdata,xlabel,% + xmargin,xrange,xtics,mxtics,mytics,xdtics,xmtics,xzeroaxis,% + ydata,ylabel,yrange,ytics,ydtics,ymtics,yzeroaxis,zdata,zero,% + zeroaxis,zlabel,zrange,ztics,zdtics,zmtics,timefm,using,title,% + with,index,every,thru,smooth},% + sensitive,% + comment=[l]\#,% + morestring=[b]",% + morestring=[b]',% + }[keywords,comments,strings]% +%% +%% Haskell98 as implemented in Hugs98. See http://www.haskell.org +%% All keywords from Prelude and Standard Libraries +%% (c) 1999 Peter Bartke +%% +\lst@definelanguage{Haskell}% + {otherkeywords={=>},% + morekeywords={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]{\{-}{-\}},% + morestring=[b]"% + }[keywords,comments,strings]% +%% +%% IDL definition (c) 1998 Juergen Heim +%% +\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]% +%% +%% Inform definition (c) 2003 Jonathan Sauer +%% +\lst@definelanguage{inform}{% + % Language keywords + morekeywords={breakdo,else,false,for,has,hasnt,if,% + in,indirect,jump,notin,nothing,NULL,objectloop,ofclass,% + private,property,provides,return,rfalse,rtrue,self,string,% + switch,to,true,until,while,with,% + creature,held,multiexcept,multiheld,multiinside,noun,number,% + scope,topic},% + % + % Inform functions + morekeywords=[2]{box,child,children,font,give,inversion,metaclass,move,% + new_line,parent,print,print_ret,read,remove,restore,sibling,% + save,spaces,quit,style,bold,underline,reverse,roman remaining,% + create,destroy,recreate,copy},% + % + % Inform definitions + morekeywords=[3]{Attribute,Array,Class,Constant,Default,End,Endif,Extend,% + Global,Ifdef,Iffalse,Ifndef,Ifnot,Iftrue,Include,Object,% + Property,Verb,Release,Serial,Statusline},% + % + % Library attributes + morekeywords=[4]{absent,animate,clothing,concealed,container,door,edible,% + enterable,female,general,light,lockable locked,male,moved,% + neuter,on,open,openable,pluralname,proper,scenery,scored,% + static,supporter,switchable,talkable,transparent,visited,% + workflag,worn},% + % + % Libary properties + morekeywords=[5]{n_to,s_to,e_to,w_to,ne_to,nw_to,se_to,sw_to,in_to,% + out_to,u_to,d_to,add_to_scope,after,article,articles,before,% + cant_go,capacity,daemon,describe,description,door_dir,door_to,% + each_turn,found_in,grammar,initial,inside_description,invent,% + life,list_together,name number,orders,parse_name,plural,% + react_after,react_before,short_name,short_name_indef,time_left,% + time_out,when_closed,when_open,when_on,when_off,% + with_key}, + % + % Library routines + morekeywords=[6]{Achieved,AfterRoutines,AllowPushDir,Banner,ChangePlayer,% + CommonAncestor,DictionaryLookup,GetGNAOfObject,HasLightSource,% + IndirectlyContains,IsSeeThrough,Locale,LoopOverScope,LTI_Insert,% + MoveFloatingObjects,NextWord,NextWordStopped,NounDomain,% + ObjectIsUntouchable OffersLight,ParseToken,PlaceInScope,PlayerTo,% + PronounNotice,PronounValue,ScopeWithin,SetPronoun,SetTime,% + StartDaemon,StartTimer,StopDaemon,StopTimer,TestScope,TryNumber,% + UnsignedCompare,WordAddress,WordInProperty,WordLength,% + WriteListFrom,YesOrNo},% + % + % Library,entry points + morekeywords=[7]{AfterLife,AfterPrompt,Amusing,BeforeParsing,ChooseObjects,% + DarkToDark,DeathMessage,GamePostRoutine GamePreRoutine,% + Initialise,InScope,LookRoutine,NewRoom,ParseNoun,ParseNumber,% + ParserError,PrintRank,PrintTaskName,PrintVerb,TimePasses,% + UnknownVerb},% + % + % Library constants + morekeywords=[8]{NEWLINE_BIT,INDENT_BIT,FULLINV_BIT,ENGLISH_BIT,RECURSE_BIT,% + ALWAYS_BIT,TERSE_BIT,PARTINV_BIT,DEFART_BIT,WORKFLAG_BIT,% + ISARE_BIT,CONCEAL_BIT},% + % + % Library,meta actions + morekeywords=[9]{Pronouns,Quit,Restart,Restore,Save,Verify,ScriptOn,ScriptOff,% + NotifyOn,NotifyOff,Places,Objects,Score,FullScore,Version,LMode1,% + LMode2,Lmode3},% + % + % Library,main actions + morekeywords=[10]{Close,Disrobe,Drop,Eat,Empty,EmptyT,Enter,Examine,Exit,GetOff,% + Give,Go,GoIn,Insert,Inv,InvTall,InvWide,Lock,Look,Open,PutOn,Remove,% + Search,Show,SwitchOff,SwitchOn,Take,Transfer,Unlock VagueGo,% + Wear},% + % + % Library,stub actions + morekeywords=[11]{Answer,Ask,AskFor,Attack,Blow,Burn,Buy,Climb,Consult,Cut,Dig,% + Drink,Fill,Jump,JumpOver,Kiss,Listen,LookUnder,Mild,No,Pray,Pull,% + Push,PushDir,Rub,Set,SetTo,Sing,Sleep,Smell,,Sleep,Smell,Sorry,% + Squeeze,Strong,Swim,Swing,Taste,Tell,Think,ThrowAt,Tie,Touch,Turn,% + Wait,Wake,WakeOther,Wave,WaveHands,Yes},% + % + otherkeywords={->,-->},% + sensitive=false,% + morestring=[d]{"},% + morecomment=[l]{!}% + }[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]% +%% +%% AutoLISP/VisualLISP - Stefan Lagotzki, info@lagotzki.de +%% +\lst@definelanguage[Auto]{Lisp}% + {morekeywords={abs,acad_colordlg,acad_helpdlg,acad_strlsort,% + action_tile,add_list,alert,alloc,and,angle,angtof,angtos,append,% + apply,arx,arxload,arxunload,ascii,assoc,atan,atof,atoi,atom,% + atoms-family,autoarxload,autoload,Boole,boundp,caddr,cadr,car,% + cdr,chr,client_data_tile,close,command,cond,cons,cos,cvunit,% + defun,defun-q,defun-q-list-ref,defun-q-list-set,dictadd,dictnext,% + dictremove,dictrename,dictsearch,dimx_tile,dimy_tile,distance,% + distof,done_dialog,end_image,end_list,entdel,entget,entlast,% + entmake,entmakex,entmod,entnext,entsel,entupd,eq,equal,*error*,% + eval,exit,exp,expand,expt,fill_image,findfile,fix,float,foreach,% + function,gc,gcd,get_attr,get_tile,getangle,getcfg,getcname,% + getcorner,getdist,getenv,getfiled,getint,getkword,getorient,% + getpoint,getreal,getstring,getvar,graphscr,grclear,grdraw,grread,% + grtext,grvecs,handent,help,if,initdia,initget,inters,itoa,lambda,% + last,layoutlist,length,list,listp,load,load_dialog,log,logand,% + logior,lsh,mapcar,max,mem,member,menucmd,menugroup,min,minusp,% + mode_tile,namedobjdict,nentsel,nentselp,new_dialog,not,nth,% + null,numberp,open,or,osnap,polar,prin1,princ,print,progn,prompt,% + quit,quote,read,read-char,read-line,redraw,regapp,rem,repeat,% + reverse,rtos,set,set_tile,setcfg,setenv,setfunhelp,setq,% + setvar,setview,sin,slide_image,snvalid,sqrt,ssadd,ssdel,ssget,% + ssgetfirst,sslength,ssmemb,ssname,ssnamex,sssetfirst,startapp,% + start_dialog,start_image,start_list,strcase,strcat,strlen,subst,% + substr,tablet,tblnext,tblobjname,tblsearch,term_dialog,terpri,% + textbox,textpage,textscr,trace,trans,type,unload_dialog,untrace,% + vector_image,ver,vl-acad-defun,vl-acad-undefun,vl-arx-import,% + vl-bb-ref,vl-bb-set,vl-catch-all-apply,% + vl-catch-all-error-message,vl-catch-all-error-p,vl-cmdf,vl-consp,% + vl-directory-files,vl-doc-export,vl-doc-import,vl-doc-ref,% + vl-doc-set,vl-every,vl-exit-with-error,vl-exit-with-value,% + vl-file-copy,vl-file-delete,vl-file-directory-p,vl-file-rename,% + vl-file-size,vl-file-systime,vl-filename-base,% + vl-filename-directory,vl-filename-extension,vl-filename-mktemp,% + vl-get-resource,vl-list*,vl-list->string,% + vl-list-exported-functions,vl-list-length,vl-list-loaded-vlx,% + vl-load-all,vl-load-com,vl-load-reactors,vl-member-if,% + vl-member-if-not,vl-position,vl-prin1-to-string,% + vl-princ-to-string,vl-propagate,vl-registry-delete,% + vl-registry-descendents,vl-registry-read,vl-registry-write,% + vl-remove,vl-remove-if,vl-remove-if-not,vl-some,vl-sort,% + vl-sort-i,vl-string->list,vl-string-elt,vl-string-left-trim,% + vl-string-mismatch,vl-string-position,vl-string-right-trim,% + vl-string-search,vl-string-subst,vl-string-translate,% + vl-string-trim,vl-symbol-name,vl-symbol-value,vl-symbolp,% + vl-unload-vlx,vl-vbaload,vl-vbarun,vl-vlx-loaded-p,vlax-3D-point,% + vlax-add-cmd,vlax-create-object,vlax-curve-getArea,% + vlax-curve-getDistAtParam,vlax-curve-getDistAtPoint,% + vlax-curve-getEndParam,vlax-curve-getEndPoint,% + vlax-curve-getParamAtDist,vlax-curve-getParamAtPoint,% + vlax-curve-getPointAtDist,vlax-curve-getPointAtParam,% + vlax-curve-getStartParam,vlax-curve-getStartPoint,% + vlax-curve-isClosed,vlax-curve-isPeriodic,vlax-curve-isPlanar,% + vlax-curve-getClosestPointTo,% + vlax-curve-getClosestPointToProjection,vlax-curve-getFirstDeriv,% + vlax-curve-getSecondDeriv,vlax-dump-object,% + vlax-ename->vla-object,vlax-erased-p,vlax-for,% + vlax-get-acad-object,vlax-get-object,vlax-get-or-create-object,% + vlax-get-property,vlax-import-type-library,vlax-invoke-method,% + vlax-ldata-delete,vlax-ldata-get,vlax-ldata-list,vlax-ldata-put,% + vlax-ldata-test,vlax-make-safearray,vlax-make-variant,% + vlax-map-collection,vlax-method-applicable-p,% + vlax-object-released-p,vlax-product-key,% + vlax-property-available-p,vlax-put-property,vlax-read-enabled-p,% + vlax-release-object,vlax-remove-cmd,vlax-safearray-fill,% + vlax-safearray-get-dim,vlax-safearray-get-element,% + vlax-safearray-get-l-bound,vlax-safearray-get-u-bound,% + vlax-safearray-put-element,vlax-safearray-type,% + vlax-safearray->list,vlax-tmatrix,vlax-typeinfo-available-p,% + vlax-variant-change-type,vlax-variant-type,vlax-variant-value,% + vlax-vla-object->ename,vlax-write-enabled-p,vlisp-compile,% + vlr-acdb-reactor,vlr-add,vlr-added-p,vlr-beep-reaction,% + vlr-command-reactor,vlr-current-reaction-name,vlr-data,% + vlr-data-set,vlr-deepclone-reactor,vlr-docmanager-reactor,% + vlr-dwg-reactor,vlr-dxf-reactor,vlr-editor-reactor,% + vlr-insert-reactor,vlr-linker-reactor,vlr-lisp-reactor,% + vlr-miscellaneous-reactor,vlr-mouse-reactor,vlr-notification,% + vlr-object-reactor,vlr-owner-add,vlr-owner-remove,vlr-owners,% + vlr-pers,vlr-pers-list,vlr-pers-p,vlr-pers-release,% + vlr-reaction-names,vlr-reaction-set,vlr-reactions,vlr-reactors,% + vlr-remove,vlr-remove-all,vlr-set-notification,% + vlr-sysvar-reactor,vlr-toolbar-reactor,vlr-trace-reaction,% + vlr-type,vlr-types,vlr-undo-reactor,vlr-wblock-reactor,% + vlr-window-reactor,vlr-xref-reactor,vports,wcmatch,while,% + write-char,write-line,xdroom,xdsize,zerop},% + alsodigit=->,% + otherkeywords={1+,1-},% + sensitive=false,% + morecomment=[l];,% + morecomment=[l];;,% + morestring=[b]"% + }[keywords,comments,strings]% +%% +%% Make definitions (c) 2000 Rolf Niepraschk +%% +\lst@definelanguage[gnu]{make}% + {morekeywords={SHELL,MAKE,MAKEFLAGS,$@,$\%,$<,$?,$^,$+,$*,% + @,^,<,\%,+,?,*,% Markus Pahlow + 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,,-->,--->,:-,==,=>,<=,<=>},% + morekeywords={module,include_module,import_module,interface,% + end_module,implementation,mode,is,failure,semidet,nondet,det,% + multi,erroneous,inst,in,out,di,uo,ui,type,typeclass,instance,% + where,with_type,pred,func,lambda,impure,semipure,if,then,else,% + some,all,not,true,fail,pragma,memo,no_inline,inline,loop_check,% + minimal_model,fact_table,type_spec,terminates,does_not_terminate,% + check_termination,promise_only_solution,unsafe_promise_unique,% + source_file,obsolete,import,export,c_header_code,c_code,% + foreign_code,foreign_proc,may_call_mercury,will_not_call_mercury,% + thread_safe,not_thread_safe},% + sensitive=t,% + morecomment=[l]\%,% + morecomment=[s]{/*}{*/},% + morestring=[bd]",% + morestring=[bd]'% + }[keywords,comments,strings]% +%% +%% Miranda definition (c) 1998 Peter Bartke +%% +%% 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 +%% +\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]% +%% +%% Oz definition (c) Andres Becerra Sandoval +%% +\lst@definelanguage{Oz}% + {morekeywords={andthen,at,attr,case,catch,choice,class,% + cond,declare,define,dis,div,else,elsecase,% + elseif,end,export,fail,false,feat,finally,% + from,fun,functor,if,import,in,local,% + lock,meth,mod,not,of,or,orelse,% + prepare,proc,prop,raise,require,self,skip,% + then,thread,true,try,unit},% + sensitive=true,% + morecomment=[l]{\%},% + morecomment=[s]{/*}{*/},% + morestring=[b]",% + morestring=[d]'% + }[keywords,comments,strings]% +%% +%% PHP definition by Luca Balzerani +%% +\lst@definelanguage{PHP}% + {morekeywords={% + %--- core language + ,::,break,case,continue,default,do,else,% + elseif,for,foreach,if,include,require,phpinfo,% + switch,while,false,FALSE,true,TRUE,% + %--- apache functions + apache_lookup_uri,apache_note,ascii2ebcdic,ebcdic2ascii,% + virtual,apache_child_terminate,apache_setenv,% + %--- array functions + array,array_change_key_case,array_chunk,array_count_values,% + array_filter,array_flip,array_fill,array_intersect,% + array_keys,array_map,array_merge,array_merge_recursive,% + array_pad,array_pop,array_push,array_rand,array_reverse,% + array_shift,array_slice,array_splice,array_sum,array_unique,% + array_values,array_walk,arsort,asort,compact,count,current,each,% + extract,in_array,array_search,key,krsort,ksort,list,natsort,% + next,pos,prev,range,reset,rsort,shuffle,sizeof,sort,uasort,% + usort,% + %--- aspell functions + aspell_new,aspell_check,aspell_check_raw,aspell_suggest,% + %--- bc functions + bcadd,bccomp,bcdiv,bcmod,bcmul,bcpow,bcscale,bcsqrt,bcsub,% + %--- bzip2 functions + bzclose,bzcompress,bzdecompress,bzerrno,bzerror,bzerrstr,% + bzopen,bzread,bzwrite,% + %--- calendar functions + JDToGregorian,GregorianToJD,JDToJulian,JulianToJD,JDToJewish,% + JDToFrench,FrenchToJD,JDMonthName,JDDayOfWeek,easter_date,% + unixtojd,jdtounix,cal_days_in_month,cal_to_jd,cal_from_jd,% + %--- ccvs functions + ccvs_init,ccvs_done,ccvs_new,ccvs_add,ccvs_delete,ccvs_auth,% + ccvs_reverse,ccvs_sale,ccvs_void,ccvs_status,ccvs_count,% + ccvs_report,ccvs_command,ccvs_textvalue,% + %--- classobj functions + call_user_method,call_user_method_array,class_exists,get_class,% + get_class_vars,get_declared_classes,get_object_vars,% + is_a,is_subclass_of,method_exists,% + %--- com functions + COM,VARIANT,com_load,com_invoke,com_propget,com_get,com_propput,% + com_set,com_addref,com_release,com_isenum,com_load_typelib,% + %--- cpdf functions + cpdf_add_annotation,cpdf_add_outline,cpdf_arc,cpdf_begin_text,% + cpdf_clip,cpdf_close,cpdf_closepath,cpdf_closepath_fill_stroke,% + cpdf_continue_text,cpdf_curveto,cpdf_end_text,cpdf_fill,% + cpdf_finalize,cpdf_finalize_page,% + cpdf_import_jpeg,cpdf_lineto,cpdf_moveto,cpdf_newpath,cpdf_open,% + cpdf_page_init,cpdf_place_inline_image,cpdf_rect,cpdf_restore,% + cpdf_rmoveto,cpdf_rotate,cpdf_rotate_text,cpdf_save,% + cpdf_scale,cpdf_set_char_spacing,cpdf_set_creator,% + cpdf_set_font,cpdf_set_horiz_scaling,cpdf_set_keywords,% + cpdf_set_page_animation,cpdf_set_subject,cpdf_set_text_matrix,% + cpdf_set_text_rendering,cpdf_set_text_rise,cpdf_set_title,% + cpdf_setdash,cpdf_setflat,cpdf_setgray,cpdf_setgray_fill,% + cpdf_setlinecap,cpdf_setlinejoin,cpdf_setlinewidth,% + cpdf_setrgbcolor,cpdf_setrgbcolor_fill,cpdf_setrgbcolor_stroke,% + cpdf_show_xy,cpdf_stringwidth,cpdf_set_font_directories,% + cpdf_set_viewer_preferences,cpdf_stroke,cpdf_text,% + cpdf_set_action_url,% + %--- crack functions + crack_opendict,crack_closedict,crack_check,crack_getlastmessage,% + %--- ctype functions + ctype_alnum,ctype_alpha,ctype_cntrl,ctype_digit,ctype_lower,% + ctype_print,ctype_punct,ctype_space,ctype_upper,ctype_xdigit,% + %--- curl functions + curl_init,curl_setopt,curl_exec,curl_close,curl_version,% + curl_error,curl_getinfo,% + %--- cybercash functions + cybercash_encr,cybercash_decr,cybercash_base64_encode,% + %--- cybermut functions + cybermut_creerformulairecm,cybermut_testmac,% + %--- cyrus functions + cyrus_connect,cyrus_authenticate,cyrus_bind,cyrus_unbind,% + cyrus_close,% + %--- datetime functions + checkdate,date,getdate,gettimeofday,gmdate,gmmktime,gmstrftime,% + microtime,mktime,strftime,time,strtotime,% + %--- dbase functions + dbase_create,dbase_open,dbase_close,dbase_pack,dbase_add_record,% + dbase_delete_record,dbase_get_record,% + dbase_numfields,dbase_numrecords,% + %--- dba functions + dba_close,dba_delete,dba_exists,dba_fetch,dba_firstkey,% + dba_nextkey,dba_popen,dba_open,dba_optimize,dba_replace,% + %--- dbm functions + dbmopen,dbmclose,dbmexists,dbmfetch,dbminsert,dbmreplace,% + dbmfirstkey,dbmnextkey,dblist,% + %--- dbx functions + dbx_close,dbx_connect,dbx_error,dbx_query,dbx_sort,dbx_compare,% + %--- dio functions + dio_open,dio_read,dio_write,dio_truncate,dio_stat,dio_seek,% + dio_close,% + %--- dir functions + chroot,chdir,dir,closedir,getcwd,opendir,readdir,rewinddir,% + %--- dotnet functions + dotnet_load,% + %--- errorfunc functions + error_log,error_reporting,restore_error_handler,% + trigger_error,user_error,% + %--- exec functions + escapeshellarg,escapeshellcmd,exec,passthru,system,shell_exec,% + %--- fbsql functions + fbsql_affected_rows,fbsql_autocommit,fbsql_change_user,% + fbsql_commit,fbsql_connect,fbsql_create_db,fbsql_create_blob,% + fbsql_database_password,fbsql_data_seek,fbsql_db_query,% + fbsql_drop_db,fbsql_errno,fbsql_error,fbsql_fetch_array,% + fbsql_fetch_field,fbsql_fetch_lengths,fbsql_fetch_object,% + fbsql_field_flags,fbsql_field_name,fbsql_field_len,% + fbsql_field_table,fbsql_field_type,fbsql_free_result,% + fbsql_list_dbs,fbsql_list_fields,fbsql_list_tables,% + fbsql_num_fields,fbsql_num_rows,fbsql_pconnect,fbsql_query,% + fbsql_read_clob,fbsql_result,fbsql_rollback,fbsql_set_lob_mode,% + fbsql_start_db,fbsql_stop_db,fbsql_tablename,fbsql_warnings,% + fbsql_get_autostart_info,fbsql_hostname,fbsql_password,% + fbsql_username,% + %--- fdf functions + fdf_open,fdf_close,fdf_create,fdf_save,fdf_get_value,% + fdf_next_field_name,fdf_set_ap,fdf_set_status,fdf_get_status,% + fdf_get_file,fdf_set_flags,fdf_set_opt,% + fdf_set_javascript_action,fdf_set_encoding,fdf_add_template,% + %--- filepro functions + filepro,filepro_fieldname,filepro_fieldtype,filepro_fieldwidth,% + filepro_fieldcount,filepro_rowcount,% + %--- filesystem functions + basename,chgrp,chmod,chown,clearstatcache,copy,delete,dirname,% + diskfreespace,disk_total_space,fclose,feof,fflush,fgetc,fgetcsv,% + fgetss,file_get_contents,file,file_exists,fileatime,filectime,% + fileinode,filemtime,fileowner,fileperms,filesize,filetype,flock,% + fopen,fpassthru,fputs,fread,fscanf,fseek,fstat,ftell,ftruncate,% + set_file_buffer,is_dir,is_executable,is_file,is_link,% + is_writable,is_writeable,is_uploaded_file,link,linkinfo,mkdir,% + parse_ini_file,pathinfo,pclose,popen,readfile,readlink,rename,% + rmdir,stat,lstat,realpath,symlink,tempnam,tmpfile,touch,umask,% + %--- fribidi functions + fribidi_log2vis,% + %--- ftp functions + ftp_connect,ftp_login,ftp_pwd,ftp_cdup,ftp_chdir,ftp_mkdir,% + ftp_nlist,ftp_rawlist,ftp_systype,ftp_pasv,ftp_get,ftp_fget,% + ftp_fput,ftp_size,ftp_mdtm,ftp_rename,ftp_delete,ftp_site,% + ftp_quit,ftp_exec,ftp_set_option,ftp_get_option,% + %--- funchand functions + call_user_func_array,call_user_func,create_function,% + func_get_args,func_num_args,function_exists,% + register_shutdown_function,register_tick_function,% + %--- gettext functions + bindtextdomain,bind_textdomain_codeset,dcgettext,dcngettext,% + dngettext,gettext,ngettext,textdomain,% + %--- gmp functions + gmp_init,gmp_intval,gmp_strval,gmp_add,gmp_sub,gmp_mul,% + gmp_div_r,gmp_div_qr,gmp_div,gmp_mod,gmp_divexact,gmp_cmp,% + gmp_com,gmp_abs,gmp_sign,gmp_fact,gmp_sqrt,gmp_sqrtrm,% + gmp_pow,gmp_powm,gmp_prob_prime,gmp_gcd,gmp_gcdext,gmp_invert,% + gmp_jacobi,gmp_random,gmp_and,gmp_or,gmp_xor,gmp_setbit,% + gmp_scan0,gmp_scan1,gmp_popcount,gmp_hamdist,% + %--- http functions + header,headers_sent,setcookie,% + %--- hw functions + hw_Array2Objrec,hw_Children,hw_ChildrenObj,hw_Close,hw_Connect,% + hw_Deleteobject,hw_DocByAnchor,hw_DocByAnchorObj,% + hw_Document_BodyTag,hw_Document_Content,hw_Document_SetContent,% + hw_ErrorMsg,hw_EditText,hw_Error,hw_Free_Document,hw_GetParents,% + hw_GetChildColl,hw_GetChildCollObj,hw_GetRemote,% + hw_GetSrcByDestObj,hw_GetObject,hw_GetAndLock,hw_GetText,% + hw_GetObjectByQueryObj,hw_GetObjectByQueryColl,% + hw_GetChildDocColl,hw_GetChildDocCollObj,hw_GetAnchors,% + hw_Mv,hw_Identify,hw_InCollections,hw_Info,hw_InsColl,hw_InsDoc,% + hw_InsertObject,hw_mapid,hw_Modifyobject,hw_New_Document,% + hw_Output_Document,hw_pConnect,hw_PipeDocument,hw_Root,% + hw_Who,hw_getusername,hw_stat,hw_setlinkroot,hw_connection_info,% + hw_insertanchors,hw_getrellink,hw_changeobject,% + %--- ibase functions + ibase_connect,ibase_pconnect,ibase_close,ibase_query,% + ibase_fetch_row,ibase_fetch_object,ibase_field_info,% + ibase_free_result,ibase_prepare,ibase_execute,ibase_trans,% + ibase_rollback,ibase_timefmt,ibase_num_fields,ibase_blob_add,% + ibase_blob_close,ibase_blob_create,ibase_blob_echo,% + ibase_blob_import,ibase_blob_info,ibase_blob_open,% + %--- icap functions + icap_open,icap_close,icap_fetch_event,icap_list_events,% + icap_delete_event,icap_snooze,icap_list_alarms,% + icap_rename_calendar,icap_delete_calendar,icap_reopen,% + %--- iconv functions + iconv,iconv_get_encoding,iconv_set_encoding,ob_iconv_handler,% + %--- ifx functions + ifx_connect,ifx_pconnect,ifx_close,ifx_query,ifx_prepare,ifx_do,% + ifx_errormsg,ifx_affected_rows,ifx_getsqlca,ifx_fetch_row,% + ifx_fieldtypes,ifx_fieldproperties,ifx_num_fields,ifx_num_rows,% + ifx_create_char,ifx_free_char,ifx_update_char,ifx_get_char,% + ifx_copy_blob,ifx_free_blob,ifx_get_blob,ifx_update_blob,% + ifx_textasvarchar,ifx_byteasvarchar,ifx_nullformat,% + ifxus_free_slob,ifxus_close_slob,ifxus_open_slob,% + ifxus_seek_slob,ifxus_read_slob,ifxus_write_slob,% + %--- iisfunc functions + iis_get_server_by_path,iis_get_server_by_comment,iis_add_server,% + iis_set_dir_security,iis_get_dir_security,iis_set_server_rights,% + iis_set_script_map,iis_get_script_map,iis_set_app_settings,% + iis_stop_server,iis_stop_service,iis_start_service,% + %--- image functions + exif_imagetype,exif_read_data,exif_thumbnail,getimagesize,% + imagealphablending,imagearc,imagefilledarc,imageellipse,% + imagechar,imagecharup,imagecolorallocate,imagecolordeallocate,% + imagecolorclosest,imagecolorclosestalpha,imagecolorclosestthwb,% + imagecolorexactalpha,imagecolorresolve,imagecolorresolvealpha,% + imagecolorset,imagecolorsforindex,imagecolorstotal,% + imagecopy,imagecopymerge,imagecopymergegray,imagecopyresized,% + imagecreate,imagecreatetruecolor,imagetruecolortopalette,% + imagecreatefromgd2,imagecreatefromgd2part,imagecreatefromgif,% + imagecreatefrompng,imagecreatefromwbmp,imagecreatefromstring,% + imagecreatefromxpm,imagedashedline,imagedestroy,imagefill,% + imagefilledrectangle,imagefilltoborder,imagefontheight,% + imagegd,imagegd2,imagegif,imagepng,imagejpeg,imagewbmp,% + imageline,imageloadfont,imagepalettecopy,imagepolygon,% + imagepsencodefont,imagepsfreefont,imagepsloadfont,% + imagepsslantfont,imagepstext,imagerectangle,imagesetpixel,% + imagesetstyle,imagesettile,imagesetthickness,imagestring,% + imagesx,imagesy,imagettfbbox,imageftbbox,imagettftext,% + imagetypes,jpeg2wbmp,png2wbmp,iptcembed,read_exif_data,% + %--- imap functions + imap_8bit,imap_alerts,imap_append,imap_base64,imap_binary,% + imap_bodystruct,imap_check,imap_clearflag_full,imap_close,% + imap_delete,imap_deletemailbox,imap_errors,imap_expunge,% + imap_fetchbody,imap_fetchheader,imap_fetchstructure,% + imap_getmailboxes,imap_getsubscribed,imap_header,% + imap_headers,imap_last_error,imap_listmailbox,% + imap_mail,imap_mail_compose,imap_mail_copy,imap_mail_move,% + imap_mime_header_decode,imap_msgno,imap_num_msg,imap_num_recent,% + imap_ping,imap_popen,imap_qprint,imap_renamemailbox,imap_reopen,% + imap_rfc822_parse_headers,imap_rfc822_write_address,% + imap_search,imap_setacl,imap_set_quota,imap_setflag_full,% + imap_status,imap_subscribe,imap_uid,imap_undelete,% + imap_utf7_decode,imap_utf7_encode,imap_utf8,imap_thread,% + %--- info functions + assert,assert_options,extension_loaded,dl,getenv,get_cfg_var,% + get_defined_constants,get_extension_funcs,getmygid,% + get_loaded_extensions,get_magic_quotes_gpc,% + getlastmod,getmyinode,getmypid,getmyuid,get_required_files,% + ini_alter,ini_get,ini_get_all,ini_restore,ini_set,phpcredits,% + phpversion,php_logo_guid,php_sapi_name,php_uname,putenv,% + set_time_limit,version_compare,zend_logo_guid,zend_version,% + %--- ircg functions + ircg_pconnect,ircg_fetch_error_msg,ircg_set_current,ircg_join,% + ircg_msg,ircg_notice,ircg_nick,ircg_topic,ircg_channel_mode,% + ircg_whois,ircg_kick,ircg_ignore_add,ircg_ignore_del,% + ircg_is_conn_alive,ircg_lookup_format_messages,% + ircg_set_on_die,ircg_set_file,ircg_get_username,% + ircg_nickname_unescape,% + %--- java functions + java_last_exception_clear,java_last_exception_get,% + %--- ldap functions + ldap_add,ldap_bind,ldap_close,ldap_compare,ldap_connect,% + ldap_delete,ldap_dn2ufn,ldap_err2str,ldap_errno,ldap_error,% + ldap_first_attribute,ldap_first_entry,ldap_free_result,% + ldap_get_dn,ldap_get_entries,ldap_get_option,ldap_get_values,% + ldap_list,ldap_modify,ldap_mod_add,ldap_mod_del,% + ldap_next_attribute,ldap_next_entry,ldap_read,ldap_rename,% + ldap_set_option,ldap_unbind,ldap_8859_to_t61,% + ldap_next_reference,ldap_parse_reference,ldap_parse_result,% + ldap_sort,ldap_start_tls,ldap_t61_to_8859,% + %--- mail functions + mail,ezmlm_hash,% + %--- math functions + abs,acos,acosh,asin,asinh,atan,atanh,atan2,base_convert,bindec,% + cos,cosh,decbin,dechex,decoct,deg2rad,exp,expm1,floor,% + hexdec,hypot,is_finite,is_infinite,is_nan,lcg_value,log,log10,% + max,min,mt_rand,mt_srand,mt_getrandmax,number_format,octdec,pi,% + rad2deg,rand,round,sin,sinh,sqrt,srand,tan,tanh,% + %--- mbstring functions + mb_language,mb_parse_str,mb_internal_encoding,mb_http_input,% + mb_detect_order,mb_substitute_character,mb_output_handler,% + mb_strlen,mb_strpos,mb_strrpos,mb_substr,mb_strcut,mb_strwidth,% + mb_convert_encoding,mb_detect_encoding,mb_convert_kana,% + mb_decode_mimeheader,mb_convert_variables,% + mb_decode_numericentity,mb_send_mail,mb_get_info,% + mb_ereg,mb_eregi,mb_ereg_replace,mb_eregi_replace,mb_split,% + mb_ereg_search,mb_ereg_search_pos,mb_ereg_search_regs,% + mb_ereg_search_getregs,mb_ereg_search_getpos,% + %--- mcal functions + mcal_open,mcal_popen,mcal_reopen,mcal_close,% + mcal_rename_calendar,mcal_delete_calendar,mcal_fetch_event,% + mcal_append_event,mcal_store_event,mcal_delete_event,% + mcal_list_alarms,mcal_event_init,mcal_event_set_category,% + mcal_event_set_description,mcal_event_set_start,% + mcal_event_set_alarm,mcal_event_set_class,mcal_is_leap_year,% + mcal_date_valid,mcal_time_valid,mcal_day_of_week,% + mcal_date_compare,mcal_next_recurrence,% + mcal_event_set_recur_daily,mcal_event_set_recur_weekly,% + mcal_event_set_recur_monthly_wday,mcal_event_set_recur_yearly,% + mcal_event_add_attribute,mcal_expunge,mcal_week_of_year,% + %--- mcrypt functions + mcrypt_get_cipher_name,mcrypt_get_block_size,% + mcrypt_create_iv,mcrypt_cbc,mcrypt_cfb,mcrypt_ecb,mcrypt_ofb,% + mcrypt_list_modes,mcrypt_get_iv_size,mcrypt_encrypt,% + mcrypt_module_open,mcrypt_module_close,mcrypt_generic_deinit,% + mcrypt_generic,mdecrypt_generic,mcrypt_generic_end,% + mcrypt_enc_is_block_algorithm_mode,% + mcrypt_enc_is_block_mode,mcrypt_enc_get_block_size,% + mcrypt_enc_get_supported_key_sizes,mcrypt_enc_get_iv_size,% + mcrypt_enc_get_modes_name,mcrypt_module_self_test,% + mcrypt_module_is_block_algorithm,mcrypt_module_is_block_mode,% + mcrypt_module_get_algo_key_size,% + %--- mhash functions + mhash_get_hash_name,mhash_get_block_size,mhash_count,mhash,% + %--- misc functions + connection_aborted,connection_status,connection_timeout,% + define,defined,die,eval,exit,get_browser,highlight_file,% + ignore_user_abort,iptcparse,leak,pack,show_source,sleep,uniqid,% + usleep,% + %--- mnogosearch functions + udm_add_search_limit,udm_alloc_agent,udm_api_version,% + udm_cat_list,udm_clear_search_limits,udm_errno,udm_error,% + udm_free_agent,udm_free_ispell_data,udm_free_res,% + udm_get_res_field,udm_get_res_param,udm_load_ispell_data,% + udm_check_charset,udm_check_stored,udm_close_stored,udm_crc32,% + %--- msession functions + msession_connect,msession_disconnect,msession_count,% + msession_destroy,msession_lock,msession_unlock,msession_set,% + msession_uniq,msession_randstr,msession_find,msession_list,% + msession_set_array,msession_listvar,msession_timeout,% + msession_getdata,msession_setdata,msession_plugin,% + %--- msql functions + msql,msql_affected_rows,msql_close,msql_connect,msql_create_db,% + msql_data_seek,msql_dbname,msql_drop_db,msql_dropdb,msql_error,% + msql_fetch_field,msql_fetch_object,msql_fetch_row,% + msql_field_seek,msql_fieldtable,msql_fieldtype,msql_fieldflags,% + msql_free_result,msql_freeresult,msql_list_fields,% + msql_list_dbs,msql_listdbs,msql_list_tables,msql_listtables,% + msql_num_rows,msql_numfields,msql_numrows,msql_pconnect,% + msql_regcase,msql_result,msql_select_db,msql_selectdb,% + %--- mssql functions + mssql_close,mssql_connect,mssql_data_seek,mssql_fetch_array,% + mssql_fetch_object,mssql_fetch_row,mssql_field_length,% + mssql_field_seek,mssql_field_type,mssql_free_result,% + mssql_min_error_severity,mssql_min_message_severity,% + mssql_num_fields,mssql_num_rows,mssql_pconnect,mssql_query,% + mssql_select_db,mssql_bind,mssql_execute,mssql_fetch_assoc,% + mssql_guid_string,mssql_init,mssql_rows_affected,% + %--- muscat functions + muscat_setup,muscat_setup_net,muscat_give,muscat_get,% + %--- mysql functions + mysql_affected_rows,mysql_change_user,mysql_character_set_name,% + mysql_connect,mysql_create_db,mysql_data_seek,mysql_db_name,% + mysql_drop_db,mysql_errno,mysql_error,mysql_escape_string,% + mysql_fetch_assoc,mysql_fetch_field,mysql_fetch_lengths,% + mysql_fetch_row,mysql_field_flags,mysql_field_name,% + mysql_field_seek,mysql_field_table,mysql_field_type,% + mysql_info,mysql_insert_id,mysql_list_dbs,mysql_list_fields,% + mysql_list_tables,mysql_num_fields,mysql_num_rows,% + mysql_ping,mysql_query,mysql_unbuffered_query,% + mysql_result,mysql_select_db,mysql_tablename,mysql_thread_id,% + mysql_get_host_info,mysql_get_proto_info,mysql_get_server_info,% + %--- network functions + checkdnsrr,closelog,debugger_off,debugger_on,% + fsockopen,gethostbyaddr,gethostbyname,gethostbynamel,getmxrr,% + getprotobynumber,getservbyname,getservbyport,ip2long,long2ip,% + pfsockopen,socket_get_status,socket_set_blocking,% + syslog,% + %--- nis functions + yp_get_default_domain,yp_order,yp_master,yp_match,yp_first,% + yp_errno,yp_err_string,yp_all,yp_cat,% + %--- oci8 functions + OCIDefineByName,OCIBindByName,OCILogon,OCIPLogon,OCINLogon,% + OCIExecute,OCICommit,OCIRollback,OCINewDescriptor,OCIRowCount,% + OCIResult,OCIFetch,OCIFetchInto,OCIFetchStatement,% + OCIColumnName,OCIColumnSize,OCIColumnType,OCIServerVersion,% + OCINewCursor,OCIFreeStatement,OCIFreeCursor,OCIFreeDesc,% + OCIError,OCIInternalDebug,OCICancel,OCISetPrefetch,% + OCISaveLobFile,OCISaveLob,OCILoadLob,OCIColumnScale,% + OCIColumnTypeRaw,OCINewCollection,OCIFreeCollection,% + OCICollAppend,OCICollAssignElem,OCICollGetElem,OCICollMax,% + OCICollTrim,% + %--- oracle functions + Ora_Bind,Ora_Close,Ora_ColumnName,Ora_ColumnSize,Ora_ColumnType,% + Ora_CommitOff,Ora_CommitOn,Ora_Do,Ora_Error,Ora_ErrorCode,% + Ora_Fetch,Ora_Fetch_Into,Ora_GetColumn,Ora_Logoff,Ora_Logon,% + Ora_Numcols,Ora_Numrows,Ora_Open,Ora_Parse,Ora_Rollback,% + %--- outcontrol functions + flush,ob_start,ob_get_contents,ob_get_length,ob_get_level,% + ob_flush,ob_clean,ob_end_flush,ob_end_clean,ob_implicit_flush,% + %--- ovrimos functions + ovrimos_connect,ovrimos_close,ovrimos_longreadlen,% + ovrimos_execute,ovrimos_cursor,ovrimos_exec,ovrimos_fetch_into,% + ovrimos_result,ovrimos_result_all,ovrimos_num_rows,% + ovrimos_field_name,ovrimos_field_type,ovrimos_field_len,% + ovrimos_free_result,ovrimos_commit,ovrimos_rollback,% + %--- pcntl functions + pcntl_fork,pcntl_signal,pcntl_waitpid,pcntl_wexitstatus,% + pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,% + pcntl_exec,% + %--- pcre functions + preg_match,preg_match_all,preg_replace,preg_replace_callback,% + preg_quote,preg_grep,Pattern Modifiers,Pattern Syntax,% + %--- pdf functions + pdf_add_annotation,pdf_add_bookmark,pdf_add_launchlink,% + pdf_add_note,pdf_add_outline,pdf_add_pdflink,pdf_add_thumbnail,% + pdf_arc,pdf_arcn,pdf_attach_file,pdf_begin_page,% + pdf_begin_template,pdf_circle,pdf_clip,pdf_close,pdf_closepath,% + pdf_closepath_stroke,pdf_close_image,pdf_close_pdi,% + pdf_concat,pdf_continue_text,pdf_curveto,pdf_delete,% + pdf_endpath,pdf_end_pattern,pdf_end_template,pdf_fill,% + pdf_findfont,pdf_get_buffer,pdf_get_font,pdf_get_fontname,% + pdf_get_image_height,pdf_get_image_width,pdf_get_parameter,% + pdf_get_pdi_value,pdf_get_majorversion,pdf_get_minorversion,% + pdf_initgraphics,pdf_lineto,pdf_makespotcolor,pdf_moveto,% + pdf_open,pdf_open_CCITT,pdf_open_file,pdf_open_gif,% + pdf_open_image_file,pdf_open_jpeg,pdf_open_memory_image,% + pdf_open_pdi_page,pdf_open_png,pdf_open_tiff,pdf_place_image,% + pdf_rect,pdf_restore,pdf_rotate,pdf_save,pdf_scale,pdf_setcolor,% + pdf_setflat,pdf_setfont,pdf_setgray,pdf_setgray_fill,% + pdf_setlinecap,pdf_setlinejoin,pdf_setlinewidth,pdf_setmatrix,% + pdf_setpolydash,pdf_setrgbcolor,pdf_setrgbcolor_fill,% + pdf_set_border_color,pdf_set_border_dash,pdf_set_border_style,% + pdf_set_duration,pdf_set_font,pdf_set_horiz_scaling,% + pdf_set_info_author,pdf_set_info_creator,pdf_set_info_keywords,% + pdf_set_info_title,pdf_set_leading,pdf_set_parameter,% + pdf_set_text_rendering,pdf_set_text_rise,pdf_set_text_matrix,% + pdf_set_word_spacing,pdf_show,pdf_show_boxed,pdf_show_xy,% + pdf_stringwidth,pdf_stroke,pdf_translate,% + %--- pfpro functions + pfpro_init,pfpro_cleanup,pfpro_process,pfpro_process_raw,% + %--- pgsql functions + pg_close,pg_affected_rows,pg_connect,pg_dbname,pg_end_copy,% + pg_query,pg_fetch_array,pg_fetch_object,pg_fetch_row,% + pg_field_name,pg_field_num,pg_field_prtlen,pg_field_size,% + pg_free_result,pg_last_oid,pg_host,pg_last_notice,pg_lo_close,% + pg_lo_export,pg_lo_import,pg_lo_open,pg_lo_read,pg_lo_seek,% + pg_lo_read_all,pg_lo_unlink,pg_lo_write,pg_num_fields,% + pg_options,pg_pconnect,pg_port,pg_put_line,pg_fetch_result,% + pg_client_encoding,pg_trace,pg_tty,pg_untrace,pg_get_result,% + pg_send_query,pg_cancel_query,pg_connection_busy,% + pg_connection_status,pg_copy_from,pg_copy_to,pg_escape_bytea,% + pg_result_error,% + %--- posix functions + posix_kill,posix_getpid,posix_getppid,posix_getuid,% + posix_getgid,posix_getegid,posix_setuid,posix_seteuid,% + posix_setegid,posix_getgroups,posix_getlogin,posix_getpgrp,% + posix_setpgid,posix_getpgid,posix_getsid,posix_uname,% + posix_ctermid,posix_ttyname,posix_isatty,posix_getcwd,% + posix_getgrnam,posix_getgrgid,posix_getpwnam,posix_getpwuid,% + %--- printer functions + printer_open,printer_abort,printer_close,printer_write,% + printer_set_option,printer_get_option,printer_create_dc,% + printer_start_doc,printer_end_doc,printer_start_page,% + printer_create_pen,printer_delete_pen,printer_select_pen,% + printer_delete_brush,printer_select_brush,printer_create_font,% + printer_select_font,printer_logical_fontheight,% + printer_draw_rectangle,printer_draw_elipse,printer_draw_text,% + printer_draw_chord,printer_draw_pie,printer_draw_bmp,% + %--- pspell functions + pspell_add_to_personal,pspell_add_to_session,pspell_check,% + pspell_config_create,pspell_config_ignore,pspell_config_mode,% + pspell_config_repl,pspell_config_runtogether,% + pspell_new,pspell_new_config,pspell_new_personal,% + pspell_store_replacement,pspell_suggest,% + %--- qtdom functions + qdom_tree,qdom_error,% + %--- readline functions + readline,readline_add_history,readline_clear_history,% + readline_info,readline_list_history,readline_read_history,% + %--- recode functions + recode_string,recode,recode_file,% + %--- regex functions + ereg,ereg_replace,eregi,eregi_replace,split,spliti,sql_regcase,% + %--- sem functions + sem_get,sem_acquire,sem_release,sem_remove,shm_attach,% + shm_remove,shm_put_var,shm_get_var,shm_remove_var,ftok,% + %--- sesam functions + sesam_connect,sesam_disconnect,sesam_settransaction,% + sesam_rollback,sesam_execimm,sesam_query,sesam_num_fields,% + sesam_diagnostic,sesam_fetch_result,sesam_affected_rows,% + sesam_field_array,sesam_fetch_row,sesam_fetch_array,% + sesam_free_result,% + %--- session functions + session_start,session_destroy,session_name,session_module_name,% + session_id,session_register,session_unregister,session_unset,% + session_get_cookie_params,session_set_cookie_params,% + session_encode,session_set_save_handler,session_cache_limiter,% + session_write_close,% + %--- shmop functions + shmop_open,shmop_read,shmop_write,shmop_size,shmop_delete,% + %--- snmp functions + snmpget,snmpset,snmpwalk,snmpwalkoid,snmp_get_quick_print,% + snmprealwalk,% + %--- strings functions + addcslashes,addslashes,bin2hex,chop,chr,chunk_split,% + count_chars,crc32,crypt,echo,explode,get_html_translation_table,% + hebrev,hebrevc,htmlentities,htmlspecialchars,implode,join,% + localeconv,ltrim,md5,md5_file,metaphone,nl_langinfo,nl2br,ord,% + print,printf,quoted_printable_decode,quotemeta,str_rot13,rtrim,% + setlocale,similar_text,soundex,sprintf,strncasecmp,strcasecmp,% + strcmp,strcoll,strcspn,strip_tags,stripcslashes,stripslashes,% + strlen,strnatcmp,strnatcasecmp,strncmp,str_pad,strpos,strrchr,% + strrev,strrpos,strspn,strstr,strtok,strtolower,strtoupper,% + strtr,substr,substr_count,substr_replace,trim,ucfirst,ucwords,% + vsprintf,wordwrap,% + %--- swf functions + swf_openfile,swf_closefile,swf_labelframe,swf_showframe,% + swf_getframe,swf_mulcolor,swf_addcolor,swf_placeobject,% + swf_removeobject,swf_nextid,swf_startdoaction,% + swf_actiongeturl,swf_actionnextframe,swf_actionprevframe,% + swf_actionstop,swf_actiontogglequality,swf_actionwaitforframe,% + swf_actiongotolabel,swf_enddoaction,swf_defineline,% + swf_definepoly,swf_startshape,swf_shapelinesolid,% + swf_shapefillsolid,swf_shapefillbitmapclip,% + swf_shapemoveto,swf_shapelineto,swf_shapecurveto,% + swf_shapearc,swf_endshape,swf_definefont,swf_setfont,% + swf_fontslant,swf_fonttracking,swf_getfontinfo,swf_definetext,% + swf_definebitmap,swf_getbitmapinfo,swf_startsymbol,% + swf_startbutton,swf_addbuttonrecord,swf_oncondition,% + swf_viewport,swf_ortho,swf_ortho2,swf_perspective,swf_polarview,% + swf_pushmatrix,swf_popmatrix,swf_scale,swf_translate,swf_rotate,% + %--- sybase functions + sybase_affected_rows,sybase_close,sybase_connect,% + sybase_fetch_array,sybase_fetch_field,sybase_fetch_object,% + sybase_field_seek,sybase_free_result,sybase_get_last_message,% + sybase_min_error_severity,sybase_min_message_severity,% + sybase_num_fields,sybase_num_rows,sybase_pconnect,sybase_query,% + sybase_select_db,% + %--- uodbc functions + odbc_autocommit,odbc_binmode,odbc_close,odbc_close_all,% + odbc_connect,odbc_cursor,odbc_do,odbc_error,odbc_errormsg,% + odbc_execute,odbc_fetch_into,odbc_fetch_row,odbc_fetch_array,% + odbc_fetch_object,odbc_field_name,odbc_field_num,% + odbc_field_len,odbc_field_precision,odbc_field_scale,% + odbc_longreadlen,odbc_num_fields,odbc_pconnect,odbc_prepare,% + odbc_result,odbc_result_all,odbc_rollback,odbc_setoption,% + odbc_tableprivileges,odbc_columns,odbc_columnprivileges,% + odbc_primarykeys,odbc_foreignkeys,odbc_procedures,% + odbc_specialcolumns,odbc_statistics,% + %--- url functions + base64_decode,base64_encode,parse_url,rawurldecode,rawurlencode,% + urlencode,% + %--- var functions + doubleval,empty,floatval,gettype,get_defined_vars,% + import_request_variables,intval,is_array,is_bool,is_double,% + is_int,is_integer,is_long,is_null,is_numeric,is_object,is_real,% + is_scalar,is_string,isset,print_r,serialize,settype,strval,% + unset,var_dump,var_export,is_callable,% + %--- vpopmail functions + vpopmail_add_domain,vpopmail_del_domain,% + vpopmail_add_domain_ex,vpopmail_del_domain_ex,% + vpopmail_add_user,vpopmail_del_user,vpopmail_passwd,% + vpopmail_auth_user,vpopmail_alias_add,vpopmail_alias_del,% + vpopmail_alias_get,vpopmail_alias_get_all,vpopmail_error,% + %--- w32api functions + w32api_set_call_method,w32api_register_function,% + w32api_deftype,w32api_init_dtype,% + %--- wddx functions + wddx_serialize_value,wddx_serialize_vars,wddx_packet_start,% + wddx_add_vars,wddx_deserialize,% + %--- xml functions + xml_parser_create,xml_set_object,xml_set_element_handler,% + xml_set_processing_instruction_handler,xml_set_default_handler,% + xml_set_notation_decl_handler,% + xml_parse,xml_get_error_code,xml_error_string,% + xml_get_current_column_number,xml_get_current_byte_index,% + xml_parser_free,xml_parser_set_option,xml_parser_get_option,% + utf8_encode,xml_parser_create_ns,% + xml_set_start_namespace_decl_handler,% + %--- xslt functions + xslt_set_log,xslt_create,xslt_errno,xslt_error,xslt_free,% + xslt_set_sax_handler,xslt_set_scheme_handler,% + xslt_set_base,xslt_set_encoding,xslt_set_sax_handlers,% + %--- yaz functions + yaz_addinfo,yaz_close,yaz_connect,yaz_errno,yaz_error,yaz_hits,% + yaz_database,yaz_range,yaz_record,yaz_search,yaz_present,% + yaz_scan,yaz_scan_result,yaz_ccl_conf,yaz_ccl_parse,% + yaz_wait,yaz_sort,% + %--- zip functions + zip_close,zip_entry_close,zip_entry_compressedsize,% + zip_entry_filesize,zip_entry_name,zip_entry_open,zip_entry_read,% + zip_read,% + %--- zlib functions + gzclose,gzeof,gzfile,gzgetc,gzgets,gzgetss,gzopen,gzpassthru,% + gzread,gzrewind,gzseek,gztell,gzwrite,readgzfile,gzcompress,% + gzdeflate,gzinflate,gzencode,},% + sensitive,% + morecomment=[l]\#,% + morecomment=[l]//,% + morecomment=[s]{/*}{*/},% + morestring=[b]",% + morestring=[b]'% + }[keywords,comments,strings]% +%% +%% Prolog definition (c) 1997 Dominique de Waleffe +%% +\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]% +%% +%% classic rexx listings definition +%% by Patrick TJ McPhee +%% +\lst@definelanguage{Rexx} + {morekeywords={address,arg,call,do,drop,else,end,exit,if,iterate,% + interpret,leave,nop,numeric,options,otherwise,parse,% + procedure,pull,push,queue,return,say,signal,then,to,% + trace,when},% + sensitive=false,% + morecomment=[n]{/*}{*/},% + morestring=[d]{'},% + morestring=[d]{"},% + }[keywords,comments,strings]% +\lst@definelanguage{Ruby}% + {morekeywords={__FILE__,__LINE__,BEGIN,END,alias,and,begin,break,% + case,class,def,defined?,do,else,elsif,end,ensure,false,for,% + if,in,module,next,nil,not,or,redo,rescue,retry,return,self,% + super,then,true,undef,unless,until,when,while,yield},% + sensitive=true,% + morecomment=[l]\#,% + morecomment=[l]\#\#,% + morecomment=[s]{=BEGIN}{=END},% + morestring=[b]',% + morestring=[b]",% + morestring=[b]/% + }[keywords,comments,strings]% +%% +%% SHELXL definition (c) 1999 Aidan Philip Heerdegen +%% +\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 +%% +\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@DefDelimB{}{}% + {\ifx\lst@lastother\lstum@backslash + \expandafter\@gobblethree + \fi}% + \lst@BeginComment\lst@commentmode + {{\lst@commentstyle}\lst@Lmodetrue}% + }[keywords,comments,strings]% +%% +%% VBScript definition (c) 2000 Sonja Weidmann +%% +\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]% +%% +%% VRML definition (c) 2001 Oliver Baum +%% +\lst@definelanguage[97]{VRML} + {morekeywords={DEF,EXTERNPROTO,FALSE,IS,NULL,PROTO,ROUTE,TO,TRUE,USE,% + eventIn,eventOut,exposedField,field,Introduction,Anchor,% + Appearance,AudioClip,Background,Billboard,Box,Collision,Color,% + ColorInterpolator,Cone,Coordinate,CoordinateInterpolator,% + Cylinder,CylinderSensor,DirectionalLight,ElevationGrid,Extrusion,% + Fog,FontStyle,Group,ImageTexture,IndexedFaceSet,IndexedLineSet,% + Inline,LOD,Material,MovieTexture,NavigationInfo,Normal,% + NormalInterpolator,OrientationInterpolator,PixelTexture,% + PlaneSensor,PointLight,PointSet,PositionInterpolator,% + ProximitySensor,ScalarInterpolator,Script,Shape,Sound,Sphere,% + SphereSensor,SpotLight,Switch,Text,TextureCoordinate,% + TextureTransform,TimeSensor,TouchSensor,Transform,Viewpoint,% + VisibilitySensor,WorldInfo},% + morecomment=[l]\#,% bug: starts comment in the first column + morestring=[b]"% + }[keywords,comments,strings] +\endinput +%% +%% End of file `lstlang2.sty'. diff -r 2c619ec34ae4 -r 7fdca589238f nonDefaultPackage/lstlang3.sty --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nonDefaultPackage/lstlang3.sty Tue Mar 25 23:16:29 2008 +0900 @@ -0,0 +1,1006 @@ +%% +%% This is file `lstlang3.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lstdrvrs-1.3.dtx (with options: `lang3') +%% +%% (w)(c) 1996/1997/1998/1999/2000/2001/2002/2003/2004 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. +%% +%% Send comments and ideas on the package, error reports and additional +%% programming languages to . +%% +\ProvidesFile{lstlang3.sty} + [2004/09/05 1.3 listings language file] +\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]% +%% +%% x86masm definition (c) 2002 Andrew Zabolotny +%% +\lst@definelanguage[x86masm]{Assembler}% + {morekeywords={al,ah,ax,eax,bl,bh,bx,ebx,cl,ch,cx,ecx,dl,dh,dx,edx,% + si,esi,di,edi,bp,ebp,sp,esp,cs,ds,es,ss,fs,gs,cr0,cr1,cr2,cr3,% + db0,db1,db2,db3,db4,db5,db6,db7,tr0,tr1,tr2,tr3,tr4,tr5,tr6,tr7,% + st,aaa,aad,aam,aas,adc,add,and,arpl,bound,bsf,bsr,bswap,bt,btc,% + btr,bts,call,cbw,cdq,clc,cld,cli,clts,cmc,cmp,cmps,cmpsb,cmpsw,% + cmpsd,cmpxchg,cwd,cwde,daa,das,dec,div,enter,hlt,idiv,imul,in,% + inc,ins,int,into,invd,invlpg,iret,ja,jae,jb,jbe,jc,jcxz,jecxz,% + je,jg,jge,jl,jle,jna,jnae,jnb,jnbe,jnc,jne,jng,jnge,jnl,jnle,% + jno,jnp,jns,jnz,jo,jp,jpe,jpo,js,jz,jmp,lahf,lar,lea,leave,lgdt,% + lidt,lldt,lmsw,lock,lods,lodsb,lodsw,lodsd,loop,loopz,loopnz,% + loope,loopne,lds,les,lfs,lgs,lss,lsl,ltr,mov,movs,movsb,movsw,% + movsd,movsx,movzx,mul,neg,nop,not,or,out,outs,pop,popa,popad,% + popf,popfd,push,pusha,pushad,pushf,pushfd,rcl,rcr,rep,repe,% + repne,repz,repnz,ret,retf,rol,ror,sahf,sal,sar,sbb,scas,seta,% + setae,setb,setbe,setc,sete,setg,setge,setl,setle,setna,setnae,% + setnb,setnbe,setnc,setne,setng,setnge,setnl,setnle,setno,setnp,% + setns,setnz,seto,setp,setpe,setpo,sets,setz,sgdt,shl,shld,shr,% + shrd,sidt,sldt,smsw,stc,std,sti,stos,stosb,stosw,stosd,str,sub,% + test,verr,verw,wait,wbinvd,xadd,xchg,xlatb,xor,fabs,fadd,fbld,% + fbstp,fchs,fclex,fcom,fcos,fdecstp,fdiv,fdivr,ffree,fiadd,ficom,% + fidiv,fidivr,fild,fimul,fincstp,finit,fist,fisub,fisubr,fld,fld1,% + fldl2e,fldl2t,fldlg2,fldln2,fldpi,fldz,fldcw,fldenv,fmul,fnop,% + fpatan,fprem,fprem1,fptan,frndint,frstor,fsave,fscale,fsetpm,% + fsin,fsincos,fsqrt,fst,fstcw,fstenv,fstsw,fsub,fsubr,ftst,fucom,% + fwait,fxam,fxch,fxtract,fyl2x,fyl2xp1,f2xm1},% + morekeywords=[2]{.align,.alpha,assume,byte,code,comm,comment,.const,% + .cref,.data,.data?,db,dd,df,dosseg,dq,dt,dw,dword,else,end,endif,% + endm,endp,ends,eq,equ,.err,.err1,.err2,.errb,.errdef,.errdif,% + .erre,.erridn,.errnb,.errndef,.errnz,event,exitm,extrn,far,% + .fardata,.fardata?,fword,ge,group,gt,high,if,if1,if2,ifb,ifdef,% + ifdif,ife,ifidn,ifnb,ifndef,include,includelib,irp,irpc,label,% + .lall,le,length,.lfcond,.list,local,low,lt,macro,mask,mod,.model,% + name,ne,near,offset,org,out,page,proc,ptr,public,purge,qword,.% + radix,record,rept,.sall,seg,segment,.seq,.sfcond,short,size,% + .stack,struc,subttl,tbyte,.tfcond,this,title,type,.type,width,% + word,.xall,.xcref,.xlist},% + alsoletter=.,alsodigit=?,% + sensitive=f,% + morestring=[b]",% + morestring=[b]',% + morecomment=[l];% + }[keywords,comments,strings] +%% +%% Clean definition (c) 1999 Jos\'e Romildo Malaquias +%% +%% 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={:,::,=,:==,=:,=>,->,<-,<-:,\{,\},\{|,|\},\#,\#!,|,\&,% + [,],!,.,\\\\,;,_},% + morekeywords={from,definition,implementation,import,module,system,% + case,code,if,in,let,let!,of,where,with,infix,infixl,infixr},% + morendkeywords={True,False,Start,Int,Real,Char,Bool,String,World,% + File,ProcId},% + sensitive,% + morecomment=[l]//,% missing comma: Markus Pahlow + 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]% +%% +%% Erlang definition (c) 2003 Daniel Gazard +%% +\lst@definelanguage{erlang}% + {morekeywords={abs,after,and,apply,atom,atom_to_list,band,binary,% + binary_to_list,binary_to_term,bor,bsl,bsr,bxor,case,catch,% + date,div,element,erase,end,exit,export,float,float_to_list,% + get,halt,hash,hd,if,info,import,integer,integer_to_list,% + length,link,list,list_to_atom,list_to_float,list_to_integer,% + list_to_tuple,module,node,nodes,now,of,or,pid,port,ports,% + processes,put,receive,reference,register,registered,rem,% + round,self,setelement,size,spawn,throw,time,tl,trace,trunc,% + tuple,tuple_to_list,unlink,unregister,whereis,error,false,% + infinity,nil,ok,true,undefined,when},% + otherkeywords={->,!,[,],\{,\},},% + morecomment=[l]\%,% + morestring=[b]",% + morestring=[b]'% + }[keywords,comments,strings]% +\lst@definelanguage{ksh} + {morekeywords={alias,awk,cat,echo,else,elif,fi,exec,exit,% + for,in,do,done,select,case,esac,while,until,function,% + time,export,cd,eval,fc,fg,kill,let,pwd,read,return,rm,% + glob,goto,history,if,logout,nice,nohup,onintr,repeat,sed,% + set,setenv,shift,source,switch,then,umask,unalias,% + unset,wait,@,env,argv,child,home,ignoreeof,noclobber,% + noglob,nomatch,path,prompt,shell,status,verbose,print,printf,% + sqrt,BEGIN,END},% + morecomment=[l]\#,% + morestring=[d]",% + morestring=[d]',% + morestring=[d]`% + }[keywords,comments,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]% +%% +%% MetaPost definition (c) 2004 Brooks Moses +%% This definition is based on the language specifications +%% contained in the _User's Manual for Metapost_, with the core +%% language enhancements that are described in the _Drawing +%% Graphs with MetaPost_ documentation. +%% +\lst@definelanguage{MetaPost}% + {% keywords[1] = MetaPost primitives (not found in following tables) + morekeywords={end,begingroup,endgroup,beginfig,endfig,def,vardef,% + primary,secondary,tertiary,primarydef,secondarydef,tertiarydef,% + expr,suffix,text,enddef,if,fi,else,elseif,for,forsuffixes,% + forever,endfor,upto,downto,stop,until,tension,controls,on,off,% + btex,etex,within,input}, + % keywords[2] = Operators (Tables 6-9 in MetaPost User's manual) + morekeywords=[2]{abs,and,angle,arclength,arctime,ASCII,bbox,bluepart,% + boolean,bot,ceiling,center,char,color,cosd,cutafter,cutbefore,% + cycle,decimal,dir,direction,directionpoint,directiontime,div,% + dotprod,floor,fontsize,greenpart,hex,infont,intersectionpoint,% + intersectiontimes,inverse,known,length,lft,llcorner,lrcorner,% + makepath,makepen,mexp,mlog,mod,normaldeviate,not,numeric,oct,% + odd,or,pair,path,pen,penoffset,picture,point,postcontrol,% + precontrol,redpart,reverse,rotated,round,rt,scaled,shifted,% + sind,slanted,sqrt,str,string,subpath,substring,top,transform,% + transformed,ulcorner,uniformdeviate,unitvector,unknown,% + urcorner,whatever,xpart,xscaled,xxpart,xypart,ypart,yscaled,% + yxpart,yypart,zscaled,of,reflectedabout,rotatedaround,ulft,urt,% + llft,lrt,readfrom,write,stroked,filled,textual,clipped,bounded,% + pathpart,penpart,dashpart,textpart,fontpart},% + % keywords[3] = Commands (Table 10) + morekeywords=[3]{addto,clip,cutdraw,draw,drawarrow,drawdblarrow,% + fill,filldraw,interim,let,loggingall,newinternal,pickup,% + save,setbounds,shipout,show,showdependencies,showtoken,% + showvariable,special,tracingall,tracingnone,undraw,unfill,% + unfilldraw,to,also,contour,doublepath,withcolor,withpen,% + dashed,randomseed},% + % keywords[4] = Function-Like Macros (Table 11) + morekeywords=[4]{boxit,boxjoin,bpath,buildcycle,circleit,dashpattern,% + decr,dotlabel,dotlabels,drawboxed,drawboxes,drawoptions,% + drawunboxed,fixpos,fixsize,incr,interpath,label,labels,max,min,pic,% + thelabel,z,image},% + % keywords[5] = Internal and Predefined Variables (Tables 3, 4) + morekeywords=[5]{ahangle,ahlength,bboxmargin,charcode,circmargin,% + day,defaultdx,defaultdy,defaultpen,defaultscale,labeloffset,% + linecap,linejoin,miterlimit,month,pausing,prologues,showstopping,% + time,tracingcapsules,tracingchoices,tracingcommands,% + tracingequations,tracinglostchars,tracingmacros,tracingonline,% + tracingoutput,tracingrestores,tracingspecs,tracingstats,% + tracingtitles,truecorners,warningcheck,year}, + morekeywords=[5]{background,currentpen,currentpicture,cuttings,% + defaultfont},% + % keywords[6] = Predefined Constants (Table 5) + morekeywords=[6]{beveled,black,blue,bp,butt,cc,cm,dd,ditto,down,% + epsilon,evenly,false,fullcircle,green,halfcircle,identity,% + in,infinity,left,mitered,mm,nullpicture,origin,pc,pencircle,% + pt,quartercircle,red,right,rounded,squared,true,unitsquare,% + up,white,withdots}, + sensitive=false,% + alsoother={0123456789$},% + morecomment=[l]\%,% + morestring=[mf]{input\ },% + morestring=[b]"% + }[keywords,comments,strings,mf]% +%% +%% Mizar definition (c) 2003 Adam Grabowski +%% +%% Mizar is freely available at URL www.mizar.org for the Linux x86, +%% Solaris x86, and Windows operating systems. +%% +\lst@definelanguage{Mizar}% + {otherkeywords={->,(\#,\#),.=),\&},% + morekeywords={vocabulary,constructors,$1,$1,$2,$3,$4,$5,$6,$7,$8,% + @proof,according,aggregate,and,antonym,as,associativity,assume,% + asymmetry,attr,be,begin,being,by,canceled,case,cases,cluster,% + clusters,coherence,commutativity,compatibility,connectedness,% + consider,consistency,constructors,contradiction,correctness,def,% + deffunc,define,definition,definitions,defpred,end,environ,equals,% + ex,exactly,existence,for,from,func,given,hence,hereby,holds,% + idempotence,if,iff,implies,involutiveness,irreflexivity,is,it,% + let,means,mode,non,not,notation,now,of,or,otherwise,over,per,% + pred,prefix,projectivity,proof,provided,qua,reconsider,redefine,% + reflexivity,requirements,reserve,scheme,schemes,section,selector,% + set,st,struct,such,suppose,symmetry,synonym,take,that,the,then,% + theorem,theorems,thesis,thus,to,transitivity,uniqueness,% + vocabulary,where},% + sensitive=t,% + morecomment=[l]::% + }[keywords,comments]% +\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{MuPAD}{% + morekeywords={end,next,break,if,then,elif,else,end_if,case,end_case,% + otherwise,for,from,to,step,downto,in,end_for,while,end_while,% + repeat,until,end_repeat,or,and,not,xor,div,mod,union,minus,% + intersect,subset,proc,begin,end_proc,domain,end_domain,category,% + end_category,axiom,end_axiom,quit,delete,frame},% + morekeywords=[2]{NIL,FAIL,TRUE,FALSE,UNKNOWN,I,RD_INF,RD_NINF,% + RD_NAN,name,local,option,save,inherits,of,do},% + otherkeywords={\%if,?,!,:=,<,>,=,<=,<>,>=,==>,<=>,::,..,...,->,% + @,@@,\$},% + sensitive=true,% + morecomment=[l]{//},% + morecomment=[n]{/*}{*/},% + morestring=[b]",% + morestring=[d]{`}% + }[keywords,comments,strings] +\lst@definelanguage{NASTRAN} + {morekeywords={ENDDATA},% + morecomment=[l]$,% + MoreSelectCharTable=% + \lst@CArgX BEGIN\ BULK\relax\lst@CDef{}% + {\lst@ifmode\else \ifnum\lst@length=\z@ + \lst@EnterMode{\lst@GPmode}{\lst@modetrue + \let\lst@currstyle\lst@gkeywords@sty}% + \fi \fi}% + {\ifnum\lst@mode=\lst@GPmode + \lst@XPrintToken \lst@LeaveMode + \fi}% + }[keywords,comments]% +\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 +%% +%% 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). +%% +\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}% + }% +\lst@definelanguage[OMG]{OCL}% + {morekeywords={context,pre,inv,post},% + ndkeywords={or,xor,and,not,implies,if,then,else,endif},% + morekeywords=[3]{Boolean,Integer,Real,String,Set,Sequence,Bag,% + OclType,OclAny,OclExpression,Enumeration,Collection,},% + sensitive=t,% + morecomment=[l]--,% + morestring=[d]'% + }[keywords,comments,strings]% +\lst@definelanguage{Plasm}% + {sensitive=false,% + morekeywords={aa,abs,ac,acolor,acos,actor,al,alias,align,and,% + animation,animation,appearance,apply,ar,arc,as,asin,assoc,atan,% + axialcamera,axialcameras,basehermite,bbox,bbox,bernstein,% + bernsteinbasis,bezier,beziercurve,beziermanifold,bezierstripe,% + beziersurface,bigger,biggest,bilinearsurface,binormal,% + biquadraticsurface,black,blend,blue,bottom,box,brown,bspize,% + bspline,bsplinebasis,c,cabinet,camera,cart,case,cat,catch,ceil,% + centeredcameras,centralcavalier,char,charseq,choose,circle,% + circumference,class,cmap,color,comp,computecoords,cone,% + conicalsurface,cons,control,convexcoords,convexhull,coonspatch,% + copy,cos,cosh,crease,crosspolytope,cube,cubiccardinal,% + cubiccardinalbasis,cubichermite,cubicubspline,cubicubsplinebasis,% + cuboid,curl,curvature,curve2cspath,curve2mapvect,cyan,cylinder,% + cylindricalsurface,d,deboor,def,depol,depth_sort,depth_test,% + derbernstein,derbernsteinbase,derbezier,determinant,difference,% + differencepr,dim,dimetric,dirproject,displaygraph,displaynubspline,% + displaynurbspline,distl,distr,div,divergence,dodecahedron,dot,down,% + dp,drawedges,drawforks,drawtree,ds,dsphere,dump,dumprep,ellipse,% + embed,end,eq,ex,exp,explode,export,extract_bodies,extract_polygons,% + extract_wires,extrude,extrusion,fact,false,feature,ff,fillcolor,% + filter,finitecone,first,flash,flashani,floor,fontcolor,fontheight,% + fontspacing,fontwidth,fractalsimplex,frame,frame,frameflash,fromto,% + gausscurvature,ge,grad,gradient,gradmap,gray,green,gt,help,hermite,% + hermitebasis,hermitesurface,hexahedron,icosahedron,id,idnt,if,in,% + inarcs,innerprod,inset,insl,insr,intersection,intersectionpr,% + intervals,intmax,intmin,intsto,inv,isa,isanimpol,isbool,ischar,% + isclosedshape,iscloseto,isempty,iseven,isfun,isfunvect,isge,isgt,% + isint,isintneg,isinto,isintpos,isle,islt,ismat,ismatof,isnat,% + isnull,isnum,isnumneg,isnumpos,isodd,isometric,isorthoshape,ispair,% + ispoint,ispointseq,ispol,ispoldim,ispolytope,ispurepol,isreal,% + isrealneg,isrealpos,isrealvect,isseq,isseqof,isshape,issimplex,% + issqrmat,isstring,isvect,iszero,jacobian,join,joints,k,last,le,% + left,leftcavalier,len,less,lesseq,lex,lift,light,linecolor,% + linesize,list,ln,load,loadlib,loop,lt,lxmy,magenta,map,mapshapes,% + markersize,mat,matdotprod,material,mathom,max,mean,meanpoint,med,% + merge,mesh,min,minkowski,mirror,mixedprod,mk,mkframe,mkpol,% + mkvector,mkversork,mod,model,move,mul,multextrude,mxby,mxmy,mxty,% + myfont,n,nat2string,neq,ngon,norm2,normalmap,not,nu_grid,nubspline,% + nubsplineknots,nurbspline,nurbsplineknots,octahedron,offset,% + onepoint,open,optimize,or,orange,ord,ortho,orthoproject,orthox,% + orthoy,orthoz,outarcs,outerloop,outerwarp,pairdiff,parallel,% + pascaltriangle,pdiff,pdifference,permutahedron,permutations,% + perspective,perspective,pi,pivotop,plane,planemapping,pmap,% + points2shape,polar,polyline,polymarker,polypoint,power,powerset,% + presort,principalnormal,print,prism,profileprodsurface,% + progressivesum,project,projection,purple,pyramid,q,quadarray,% + quadmesh,quote,r,raise,range,rationalbezier,rationalblend,% + rationalbspline,rationalize,red,rev,reverse,rgbacolor,right,% + rightcavalier,ring,rn,rotatedtext,rotationalsurface,rotn,rtail,% + ruledsurface,rxmy,s,save,scalarmatprod,scalarvectprod,schlegel2d,% + schlegel3d,sdifference,sdifferencepr,segment,sel,setand,setdiff,% + setfontcolor,setor,setxor,sex,shape_0,shape_1,shape2points,% + shape2pol,shapeclosed,shapecomb,shapediff,shapedist,% + shapeinbetweening,shapeinf,shapejoin,shapelen,shapenorm,% + shapenormal,shapeprod,shaperot,shapesum,shapesup,shapezero,shift,% + showprop,sign,signal,simplex,simplexpile,sin,sinh,size,skeleton,% + skew,smaller,smallest,solidifier,solidify,sort,sphere,spline,% + splinesampling,splitcells,splitpols,sqr,sqrt,star,string,% + stringtokens,struct,sub,svg,sweep,t,tail,tan,tangent,tanh,% + tensorprodsurface,tetrahedron,text,texture,textwithattributes,% + thinsolid,threepoints,time,tmax,tmin,top,torus,torusmap,trace,% + trans,tree,trianglefan,trianglestripe,trimetric,true,truncone,tt,% + tube,twopoints,uk,ukpol,ukpolf,union,unionpr,unitvect,unprune,up,% + vect2dtoangle,vect2mat,vectdiff,vectnorm,vectprod,vectsum,view,% + viewmodel,viewmodel,vrml,warp,warp,where,white,with,xcavalier,xor,% + xquadarray,xx,ycavalier,yellow},% + moredirectives={loadlib},% + otherkeywords={-,+,*,**,/,~,|,..,^,\&,\&\&,\#,\#\#},% + morecomment=[s]{\%}{\%},% + morestring=[b]',% + literate={~}{{$\sim$}}{1} {^}{$\wedge$}{1},% + }[keywords,directives,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]% +%% +%% Promela definition (c) 2004 William Thimbleby +%% +\lst@definelanguage{Promela} + {morekeywords={active,assert,atomic,bit,bool,break,byte,chan,d_step,% + Dproctype,do,else,empty,enabled,fi,full,goto,hidden,if,init,int,% + len,mtype,nempty,never,nfull,od,of,pcvalue,printf,priority,% + proctype,provided,run,short,skip,timeout,typedef,unless,unsigned,% + xr,xs,true,false,inline,eval},% + moredirectives={define,ifdef,ifndef,if,if,else,endif,undef,include},% + moredelim=*[directive]\#,% + morecomment=[s]{/*}{*/},% + morestring=[b]"% + }[keywords,comments,strings,directives]% +%% +%% Reduce definition (c) 2002 Geraint Paul Bevan +%% +\lst@definelanguage{Reduce}% + {morekeywords={% +%% reserved identifiers +abs,acos,acosh,acot,acoth,acsc,acsch,% +adjprec,algebraic,algint,allbranch,allfac,and,% +antisymmetric,append,arglength,array,asec,asech,% +asin,asinh,atan,atan2,atanh,begin,bfspace,bye,% +card_no,ceiling,clear,clearrules,coeff,coeffn,% +cofactor,combineexpt,combinelogs,comment,comp,% +complex,conj,cons,cont,cos,cosh,cot,coth,cramer,% +cref,csc,csch,decompose,define,defn,deg,demo,den,% +depend,det,df,difference,dilog,display,div,do,e,% +echo,ed,editdef,ei,end,eps,eq,equal,erf,errcont,% +evallhseqp,eval_mode,even,evenp,exp,expandlogs,% +expr,expt,ezgcd,factor,factorial,factorize,fexpr,% +first,fix,fixp,floor,for,forall,foreach,fort,% +fort_width,freeof,fullroots,g,gcd,geq,go,goto,% +greaterp,high_pow,hypot,i,if,ifactor,impart,in,% +index,infinity,infix,input,int,integer,interpol,% +intstr,k,korder,lambda,lcm,lcof,length,leq,lessp,% +let,lhs,linear,linelength,lisp,list,listargp,% +listargs,ln,load,load_package,log,log10,logb,% +low_pow,lterm,macro,mainvar,mass,mat,match,% +mateigen,matrix,max,mcd,member,memq,min,minus,mkid,% +modular,msg,mshell,multiplicities,nat,neq,nero,% +nextprime,nil,nodepend,noncom,nonzero,nosplit,% +nospur,nullspace,num,numberp,odd,off,on,operator,% +or,order,ordp,out,output,part,pause,period,pf,pi,% +plus,precedence,precise,precision,pret,pri,primep,% +print_precision,procedure,product,quit,quotient,% +random,random_new_seed,rank,rat,ratarg,rational,% +rationalize,ratpri,real,rederr,reduct,remainder,% +remfac,remind,repart,repeat,rest,resultant,retry,% +return,reverse,revpri,rhs,rlisp88,% +root_multiplicity,round,roundall,roundbf,rounded,% +saveas,savestructr,scalar,sec,sech,second,set,% +setmod,setq,share,showrules,showtime,shut,sign,sin,% +sinh,smacro,solve,solvesingular,spur,sqrt,structr,% +sub,sum,symbolic,symmetric,t,tan,tanh,third,time,% +times,tp,tra,trace,trfac,trigform,trint,until,% +varname,vecdim,vector,weight,when,where,while,% +write,ws,wtlevel,% +%% identifiers with spaces +%% for all,for each,go to,such that,% +},% + sensitive=false,% + morecomment=[l]\%,% + morecomment=[s]{COMMENT}{;},% + morecomment=[s]{COMMENT}{$},% + morestring="% + }[keywords,comments,strings]% +%% +%% RSL definition (c) 2004 Brian Christensen +%% +\lst@definelanguage{RSL}% + {morekeywords={Bool,Char,devt_relation,Int,Nat,Real,Text,Unit,abs,any,% + as,axiom,card,case,channel,chaos,class,do,dom,elems,else,elsif,end,% + extend,false,for,hd,hide,if,in,inds,initialise,int,len,let,local,% + object,of,out,post,pre,read,real,rng,scheme,skip,stop,swap,% + test_case,theory,then,tl,true,type,until,use,value,variable,while,% + with,write},% +literate=% +{<}{$<$}{1}% +{>}{$>$}{1}% +{[}{$[$}{1}%% +{]}{$]$}{1}%% +{^}{{\mbox{$\widehat{\;}$}}}{1}%% +{'}{{\raisebox{1ex}[1ex][0ex]{\protect\scriptsize$\prime$}}}{1}%% +{||}{{\mbox{$\parallel$}}}{2}%% +{|-}{$\vdash$}{1}%% +{|=|}{{\mbox{$\lceil\!\rceil\!\!\!\!\!\!\;\lfloor\!\rfloor$}}}{1}%% +{**}{$\uparrow$}{1}% +{/\\}{$\wedge$}{1}%% +{inter}{$\cap$}{1}%% +{-\\}{$\lambda$}{1}%% +{->}{$\rightarrow$}{1}%% +{-m->}{{\mbox{$\rightarrow \hspace{-2.5\lst@width} _{m}\;$}}}{1}% +{-~m->}{{\mbox{$\stackrel{\sim}{\mbox{$\rightarrow\hspace{-2.5\lst@width} _{m}\;$}}$}}}{1}% +{-~->}{{\mbox{$\stackrel{\sim}{\rightarrow}$}}}{1}%% +{-set}{\bf{-set}}{4}%% +{-list}{{$^{\ast}$}}{1}%% +{-inflist}{$^\omega$}{1}% +{-infset}{{\mbox{{\bf -infset}}}}{7}% +{\#}{$\circ$}{1}% +{:-}{{\raisebox{.4ex}{\tiny $\bullet$}}}{1}%% +{=}{$=$}{1}%% +{==}{$==$}{2}%% +{=>}{$\Rightarrow$}{1}%% +{\ is\protect\^^M}{{$\;\equiv$}}{2}% +{\ is\ }{{$\equiv$}}{3}%% +{\ isin\protect\^^M}{$\;\in$}{2}%% +{~}{$\sim$}{1}%% +{~=}{$\neq$}{1}%% +{~isin}{$\notin$}{1}%% +{+>}{$\mapsto$}{1}%% +{++}{}{1}% +{|^|}{{\mbox{$\lceil\!\rceil$}}}{1}%% +{\\/}{$\vee$}{1}%% +{exists}{$\exists$}{1}%% +{union}{$\cup$}{1}%% +{>=}{$\geq$}{1}%% +{><}{$\times$}{1}%% +{>>}{$\supset$}{1}% +{>>=}{$\supseteq$}{1}%% +{<=}{$\leq$}{1}%% +{<<}{$\subset$}{1}% +{<.}{$\langle$}{1}%% +{<<=}{$\subseteq$}{1}%% +{<->}{$\leftrightarrow$}{1}%% +{[=}{$\sqsubseteq$}{1}%% +{\{=}{$\preceq$}{1}%% +{\ all\protect\^^M}{$\forall$}{2}%% +{\ all\ }{$\forall$}{3}%% +{!!}{$\dagger$}{1}%% +{always}{$\Box$}{1}%% +{.>}{$\rangle$}{1}%% +{`alpha}{$\alpha$}{1}% +{`beta}{$\beta$}{1}% +{`gamma}{$\gamma$}{1}% +{`delta}{$\delta$}{1}% +{`epsilon}{$\epsilon$}{1}% +{`zeta}{$\zeta$}{1}% +{`eta}{$\eta$}{1}% +{`theta}{$\theta$}{1}% +{`iota}{$\iota$}{1}% +{`kappa}{$\kappa$}{1}% +{`mu}{$\mu$}{1}% +{`nu}{$\nu$}{1}% +{`xi}{$\xi$}{1}% +{`pi}{$\pi$}{1}% +{`rho}{$\rho$}{1}% +{`sigma}{$\sigma$}{1}% +{`tau}{$\tau$}{1}% +{`upsilon}{$\upsilon$}{1}% +{`phi}{$\phi$}{1}% +{`chi}{$\chi$}{1}% +{`psi}{$\psi$}{1}% +{`omega}{$\omega$}{1}% +{`Gamma}{$\Gamma$}{1}% +{`Delta}{$\Delta$}{1}% +{`Theta}{$\Theta$}{1}% +{`Lambda}{$\Lambda$}{1}% +{`Xi}{$\Xi$}{1}% +{`Pi}{$\Pi$}{1}% +{`Sigma}{$\Sigma$}{1}% +{`Upsilon}{$\Upsilon$}{1}% +{`Phi}{$\Phi$}{1}% +{`Psi}{$\Psi$}{1}% +{`Omega}{$\Omega$}{1},% + sensitive=true,% + morecomment=[l]{--},% + morecomment=[s]{/*}{*/}% + }[keywords,comments]% +\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]",% + morestring=[d]'% 2001 Robert Denham + }% +\lst@definelanguage{SAS}% + {procnamekeys={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]'% + }[keywords,comments,strings,procnames]% +\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]% +%% +%% Verilog definition (c) 2003 Cameron H. G. Wright +%% Based on the IEEE 1364-2001 Verilog HDL standard +%% Ref: S. Palnitkar, "Verilog HDL: A Guide to Digital Design and Synthesis," +%% Prentice Hall, 2003. ISBN: 0-13-044911-3 +%% +\lst@definelanguage{Verilog}% + {morekeywords={% reserved keywords + always,and,assign,automatic,begin,buf,bufif0,bufif1,case,casex,% + casez,cell,cmos,config,deassign,default,defparam,design,disable,% + edge,else,end,endcase,endconfig,endfunction,endgenerate,% + endmodule,endprimitive,endspecify,endtable,endtask,event,for,% + force,forever,fork,function,generate,genvar,highz0,highz1,if,% + ifnone,incdir,include,initial,inout,input,instance,integer,join,% + large,liblist,library,localparam,macromodule,medium,module,nand,% + negedge,nmos,nor,noshowcancelled,not,notif0,notif1,or,output,% + parameter,pmos,posedge,primitive,pull0,pull1,pulldown,pullup,% + pulsestyle_onevent,pulsestyle_ondetect,rcmos,real,realtime,reg,% + release,repeat,rnmos,rpmos,rtran,rtranif0,rtranif1,scalared,% + showcancelled,signed,small,specify,specparam,strong0,strong1,% + supply0,supply1,table,task,time,tran,tranif0,tranif1,tri,tri0,% + tri1,triand,trior,trireg,unsigned,use,vectored,wait,wand,weak0,% + weak1,while,wire,wor,xnor,xor},% + morekeywords=[2]{% system tasks and functions + $bitstoreal,$countdrivers,$display,$fclose,$fdisplay,$fmonitor,% + $fopen,$fstrobe,$fwrite,$finish,$getpattern,$history,$incsave,% + $input,$itor,$key,$list,$log,$monitor,$monitoroff,$monitoron,% + $nokey},% + morekeywords=[3]{% compiler directives + `accelerate,`autoexpand_vectornets,`celldefine,`default_nettype,% + `define,`else,`elsif,`endcelldefine,`endif,`endprotect,% + `endprotected,`expand_vectornets,`ifdef,`ifndef,`include,% + `no_accelerate,`noexpand_vectornets,`noremove_gatenames,% + `nounconnected_drive,`protect,`protected,`remove_gatenames,% + `remove_netnames,`resetall,`timescale,`unconnected_drive},% + alsoletter=\`,% + sensitive,% + morecomment=[s]{/*}{*/},% + morecomment=[l]//,% nonstandard + morestring=[b]"% + }[keywords,comments,strings]% +\endinput +%% +%% End of file `lstlang3.sty'. diff -r 2c619ec34ae4 -r 7fdca589238f nonDefaultPackage/lstmisc.sty --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nonDefaultPackage/lstmisc.sty Tue Mar 25 23:16:29 2008 +0900 @@ -0,0 +1,2086 @@ +%% +%% This is file `lstmisc.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% listings-1.3.dtx (with options: `misc,0.21') +%% +%% Please read the software license in listings-1.3.dtx or listings-1.3.pdf. +%% +%% (w)(c) 1996--2004 Carsten Heinz and/or any other author listed +%% elsewhere in this file. +%% +%% Send comments and ideas on the package, error reports and additional +%% programming languages to . +%% +\def\filedate{2004/09/07} +\def\fileversion{1.3} +\ProvidesFile{lstmisc.sty} + [\filedate\space\fileversion\space(Carsten Heinz)] +\lst@CheckVersion\fileversion + {\typeout{^^J% + ***^^J% + *** This file requires `listings.sty' version \fileversion.^^J% + *** You have a serious problem, so I'm exiting ...^^J% + ***^^J}% + \batchmode \@@end} +\lst@BeginAspect{writefile} +\newtoks\lst@WFtoken % global +\lst@AddToHook{InitVarsBOL}{\global\lst@WFtoken{}} +\newwrite\lst@WF +\global\let\lst@WFifopen\iffalse % init +\gdef\lst@WFWriteToFile{% + \begingroup + \let\lst@UM\@empty + \expandafter\edef\expandafter\lst@temp\expandafter{\the\lst@WFtoken}% + \immediate\write\lst@WF{\lst@temp}% + \endgroup + \global\lst@WFtoken{}} +\gdef\lst@WFAppend#1{% + \global\lst@WFtoken=\expandafter{\the\lst@WFtoken#1}} +\gdef\lst@BeginWriteFile{\lst@WFBegin\@gobble} +\gdef\lst@BeginAlsoWriteFile{\lst@WFBegin\lst@OutputBox} +\begingroup \catcode`\^^I=11 +\gdef\lst@WFBegin#1#2{% + \begingroup + \let\lst@OutputBox#1% + \def\lst@Append##1{% + \advance\lst@length\@ne + \expandafter\lst@token\expandafter{\the\lst@token##1}% + \ifx ##1\lst@outputspace \else + \lst@WFAppend##1% + \fi}% + \lst@lAddTo\lst@PreGotoTabStop{\lst@WFAppend{^^I}}% + \lst@lAddTo\lst@ProcessSpace{\lst@WFAppend{ }}% + \let\lst@DeInit\lst@WFDeInit + \let\lst@MProcessListing\lst@WFMProcessListing + \lst@WFifopen\else + \immediate\openout\lst@WF=#2\relax + \global\let\lst@WFifopen\iftrue + \@gobbletwo\fi\fi + \fi} +\endgroup +\gdef\lst@EndWriteFile{% + \immediate\closeout\lst@WF \endgroup + \global\let\lst@WFifopen\iffalse} +\global\let\lst@WFMProcessListing\lst@MProcessListing +\global\let\lst@WFDeInit\lst@DeInit +\lst@AddToAtTop\lst@WFMProcessListing{\lst@WFWriteToFile} +\lst@AddToAtTop\lst@WFDeInit{% + \ifnum\lst@length=\z@\else \lst@WFWriteToFile \fi} +\lst@EndAspect +\lst@BeginAspect{strings} +\gdef\lst@stringtypes{d,b,m,bd,db} +\gdef\lst@StringKey#1#2{% + \lst@Delim\lst@stringstyle #2\relax + {String}\lst@stringtypes #1% + {\lst@BeginString\lst@EndString}% + \@@end\@empty{}} +\lst@Key{string}\relax{\lst@StringKey\@empty{#1}} +\lst@Key{morestring}\relax{\lst@StringKey\relax{#1}} +\lst@Key{deletestring}\relax{\lst@StringKey\@nil{#1}} +\lst@Key{stringstyle}{}{\def\lst@stringstyle{#1}} +\lst@AddToHook{EmptyStyle}{\let\lst@stringstyle\@empty} +\lst@Key{showstringspaces}t[t]{\lstKV@SetIf{#1}\lst@ifshowstringspaces} +\gdef\lst@BeginString{% + \lst@DelimOpen + \lst@ifexstrings\else + {\lst@ifshowstringspaces + \lst@keepspacestrue + \let\lst@outputspace\lst@visiblespace + \fi}} +\lst@AddToHookExe{ExcludeDelims}{\let\lst@ifexstrings\iffalse} +\gdef\lst@EndString{\lst@DelimClose\lst@ifexstrings\else} +\gdef\lst@StringDM@d#1#2\@empty#3#4#5{% + \lst@CArg #2\relax\lst@DefDelimBE{}{}{}#3{#1}{#5}#4} +\gdef\lst@StringDM@b#1#2\@empty#3#4#5{% + \let\lst@ifbstring\iftrue + \lst@CArg #2\relax\lst@DefDelimBE + {\lst@ifletter \lst@Output \lst@letterfalse \fi}% + {\ifx\lst@lastother\lstum@backslash + \expandafter\@gobblethree + \fi}{}#3{#1}{#5}#4} +\global\let\lst@ifbstring\iffalse % init +\lst@AddToHook{SelectCharTable}{% + \lst@ifbstring + \lst@CArgX \\\\\relax \lst@CDefX{}% + {\lst@ProcessOther\lstum@backslash + \lst@ProcessOther\lstum@backslash + \let\lst@lastother\relax}% + {}% + \fi} +\global\let\lst@StringDM@bd\lst@StringDM@b +\global\let\lst@StringDM@db\lst@StringDM@bd +\gdef\lst@StringDM@a#1#2\@empty#3#4#5{% + \lst@CArg #2\relax\lst@DefDelimBE{}{}% + {\let\lst@next\@gobblethree + \lst@ifletter\else + \ifx\lst@lastother)\else \ifx\lst@lastother]\else + \let\lst@next\@empty + \fi \fi \fi + \lst@next}#3{#1}{#5}#4} +\gdef\lst@StringDM@m#1#2\@empty#3#4#5{% + \lst@CArg #2\relax\lst@DefDelimBE{}{}% + {\let\lst@next\@gobblethree + \lst@ifletter\else + \lst@IfLastOtherOneOf{)].0123456789\lstum@rbrace'}% + {}% + {\let\lst@next\@empty}% + \fi + \lst@next}#3{#1}{#5}#4} +\lst@SaveOutputDef{"7D}\lstum@rbrace +\lst@EndAspect +\lst@BeginAspect{mf} +\lst@AddTo\lst@stringtypes{,mf} +\lst@NewMode\lst@mfinputmode +\gdef\lst@String@mf#1\@empty#2#3#4{% + \lst@CArg #1\relax\lst@DefDelimB + {}{}{\lst@ifletter \expandafter\@gobblethree \fi}% + \lst@BeginStringMFinput\lst@mfinputmode{#4\lst@Lmodetrue}% + \@ifundefined{lsts@semicolon}% + {\lst@DefSaveDef{`\;}\lsts@semicolon{% ; and space end the filename + \ifnum\lst@mode=\lst@mfinputmode + \lst@XPrintToken + \expandafter\lst@LeaveMode + \fi + \lsts@semicolon}% + \lst@DefSaveDef{`\ }\lsts@space{% + \ifnum\lst@mode=\lst@mfinputmode + \lst@XPrintToken + \expandafter\lst@LeaveMode + \fi + \lsts@space}% + }{}} +\gdef\lst@BeginStringMFinput#1#2#3\@empty{% + \lst@TrackNewLines \lst@XPrintToken + \begingroup + \lst@mode\lst@nomode + #3\lst@XPrintToken + \endgroup + \lst@ResetToken + \lst@EnterMode{#1}{\def\lst@currstyle#2}% + \lst@ifshowstringspaces + \lst@keepspacestrue + \let\lst@outputspace\lst@visiblespace + \fi} +\lst@EndAspect +\lst@BeginAspect{comments} +\lst@NewMode\lst@commentmode +\gdef\lst@commenttypes{l,f,s,n} +\gdef\lst@CommentKey#1#2{% + \lst@Delim\lst@commentstyle #2\relax + {Comment}\lst@commenttypes #1% + {\lst@BeginComment\lst@EndComment}% + i\@empty{\lst@BeginInvisible\lst@EndInvisible}} +\lst@Key{comment}\relax{\lst@CommentKey\@empty{#1}} +\lst@Key{morecomment}\relax{\lst@CommentKey\relax{#1}} +\lst@Key{deletecomment}\relax{\lst@CommentKey\@nil{#1}} +\lst@Key{commentstyle}{}{\def\lst@commentstyle{#1}} +\lst@AddToHook{EmptyStyle}{\let\lst@commentstyle\itshape} +\gdef\lst@BeginComment{% + \lst@DelimOpen + \lst@ifexcomments\else + \lsthk@AfterBeginComment} +\gdef\lst@EndComment{\lst@DelimClose\lst@ifexcomments\else} +\lst@AddToHook{AfterBeginComment}{} +\lst@AddToHookExe{ExcludeDelims}{\let\lst@ifexcomments\iffalse} +\gdef\lst@BeginInvisible#1#2#3\@empty{% + \lst@TrackNewLines \lst@XPrintToken + \lst@BeginDropOutput{#1}} +\gdef\lst@EndInvisible#1\@empty{\lst@EndDropOutput} +\gdef\lst@CommentDM@l#1#2\@empty#3#4#5{% + \lst@CArg #2\relax\lst@DefDelimB{}{}{}#3{#1}{#5\lst@Lmodetrue}} +\gdef\lst@CommentDM@f#1{% + \@ifnextchar[{\lst@Comment@@f{#1}}% + {\lst@Comment@@f{#1}[0]}} +\gdef\lst@Comment@@f#1[#2]#3\@empty#4#5#6{% + \lst@CArg #3\relax\lst@DefDelimB{}{}% + {\lst@CalcColumn + \ifnum #2=\@tempcnta\else + \expandafter\@gobblethree + \fi}% + #4{#1}{#6\lst@Lmodetrue}} +\gdef\lst@CommentDM@s#1#2#3\@empty#4#5#6{% + \lst@CArg #2\relax\lst@DefDelimB{}{}{}#4{#1}{#6}% + \lst@CArg #3\relax\lst@DefDelimE{}{}{}#5{#1}} +\gdef\lst@CommentDM@n#1#2#3\@empty#4#5#6{% + \ifx\@empty#3\@empty\else + \def\@tempa{#2}\def\@tempb{#3}% + \ifx\@tempa\@tempb + \PackageError{Listings}{Identical delimiters}% + {These delimiters make no sense with nested comments.}% + \else + \lst@CArg #2\relax\lst@DefDelimB + {}% + {\ifnum\lst@mode=#1\relax \expandafter\@gobble \fi}% + {}#4{#1}{#6}% + \lst@CArg #3\relax\lst@DefDelimE{}{}{}#5{#1}% + \fi + \fi} +\lst@EndAspect +\lst@BeginAspect{pod} +\lst@Key{printpod}{false}[t]{\lstKV@SetIf{#1}\lst@ifprintpod} +\lst@Key{podcomment}{false}[t]{\lstKV@SetIf{#1}\lst@ifpodcomment} +\lst@AddToHookExe{SetLanguage}{\let\lst@ifpodcomment\iffalse} +\lst@NewMode\lst@PODmode +\lst@AddToHook{SelectCharTable} + {\lst@ifpodcomment + \lst@CArgX =\relax\lst@DefDelimB{}{}% + {\ifnum\@tempcnta=\z@ + \lst@ifprintpod\else + \def\lst@bnext{\lst@BeginDropOutput\lst@PODmode}% + \expandafter\expandafter\expandafter\@gobblethree + \fi + \else + \expandafter\@gobblethree + \fi}% + \lst@BeginComment\lst@PODmode{{\lst@commentstyle}}% + \lst@CArgX =cut\^^M\relax\lst@DefDelimE + {\lst@CalcColumn}% + {\ifnum\@tempcnta=\z@\else + \expandafter\@gobblethree + \fi}% + {}% + \lst@EndComment\lst@PODmode + \fi} +\lst@EndAspect +\lst@BeginAspect[keywords]{html} +\gdef\lst@tagtypes{s} +\gdef\lst@TagKey#1#2{% + \lst@Delim\lst@tagstyle #2\relax + {Tag}\lst@tagtypes #1% + {\lst@BeginTag\lst@EndTag}% + \@@end\@empty{}} +\lst@Key{tag}\relax{\lst@TagKey\@empty{#1}} +\lst@Key{tagstyle}{}{\def\lst@tagstyle{#1}} +\lst@AddToHook{EmptyStyle}{\let\lst@tagstyle\@empty} +\gdef\lst@BeginTag{% + \lst@DelimOpen + \lst@ifextags\else + {\let\lst@ifkeywords\iftrue + \lst@ifmarkfirstintag \lst@firstintagtrue \fi}} +\lst@AddToHookExe{ExcludeDelims}{\let\lst@ifextags\iffalse} +\gdef\lst@EndTag{\lst@DelimClose\lst@ifextags\else} +\lst@Key{usekeywordsintag}t[t]{\lstKV@SetIf{#1}\lst@ifusekeysintag} +\lst@Key{markfirstintag}f[t]{\lstKV@SetIf{#1}\lst@ifmarkfirstintag} +\gdef\lst@firstintagtrue{\global\let\lst@iffirstintag\iftrue} +\global\let\lst@iffirstintag\iffalse +\lst@AddToHook{PostOutput}{\lst@tagresetfirst} +\lst@AddToHook{Output} + {\gdef\lst@tagresetfirst{\global\let\lst@iffirstintag\iffalse}} +\lst@AddToHook{OutputOther}{\gdef\lst@tagresetfirst{}} +\lst@AddToHook{Output} + {\ifnum\lst@mode=\lst@tagmode + \lst@iffirstintag \let\lst@thestyle\lst@gkeywords@sty \fi + \lst@ifusekeysintag\else \let\lst@thestyle\lst@gkeywords@sty\fi + \fi} +\lst@NewMode\lst@tagmode +\lst@AddToHook{Init}{\global\let\lst@ifnotag\iftrue} +\lst@AddToHook{SelectCharTable}{\let\lst@ifkeywords\lst@ifnotag} +\gdef\lst@Tag@s#1#2\@empty#3#4#5{% + \global\let\lst@ifnotag\iffalse + \lst@CArg #1\relax\lst@DefDelimB {}{}% + {\ifnum\lst@mode=\lst@tagmode \expandafter\@gobblethree \fi}% + #3\lst@tagmode{#5}% + \lst@CArg #2\relax\lst@DefDelimE {}{}{}#4\lst@tagmode}% +\gdef\lst@BeginCDATA#1\@empty{% + \lst@TrackNewLines \lst@PrintToken + \lst@EnterMode\lst@GPmode{}\let\lst@ifmode\iffalse + \lst@mode\lst@tagmode #1\lst@mode\lst@GPmode\relax\lst@modetrue} +\lst@EndAspect +\lst@BeginAspect{escape} +\lst@Key{texcl}{false}[t]{\lstKV@SetIf{#1}\lst@iftexcl} +\lst@AddToHook{TextStyle}{\let\lst@iftexcl\iffalse} +\lst@AddToHook{EOL} + {\ifnum\lst@mode=\lst@TeXLmode + \expandafter\lst@escapeend + \expandafter\lst@LeaveAllModes + \expandafter\lst@ReenterModes + \fi} +\lst@AddToHook{AfterBeginComment} + {\lst@iftexcl \lst@ifLmode \lst@ifdropinput\else + \lst@PrintToken + \lst@LeaveMode \lst@InterruptModes + \lst@EnterMode{\lst@TeXLmode}{\lst@modetrue\lst@commentstyle}% + \expandafter\expandafter\expandafter\lst@escapebegin + \fi \fi \fi} +\lst@NewMode\lst@TeXLmode +\gdef\lst@ActiveCDefX#1{\lst@ActiveCDefX@#1} +\gdef\lst@ActiveCDefX@#1#2#3{ + \catcode`#1\active\lccode`\~=`#1% + \lowercase{\lst@CDefIt~}{#2}{#3}{}} +\gdef\lst@Escape#1#2#3#4{% + \lst@CArgX #1\relax\lst@CDefX + {}% + {\lst@ifdropinput\else + \lst@TrackNewLines\lst@OutputLostSpace \lst@XPrintToken + \lst@InterruptModes + \lst@EnterMode{\lst@TeXmode}{\lst@modetrue}% + \ifx\^^M#2% + \lst@CArg #2\relax\lst@ActiveCDefX + {}% + {\lst@escapeend #4\lst@LeaveAllModes\lst@ReenterModes}% + {\lst@MProcessListing}% + \else + \lst@CArg #2\relax\lst@ActiveCDefX + {}% + {\lst@escapeend #4\lst@LeaveAllModes\lst@ReenterModes + \lst@whitespacefalse}% + {}% + \fi + #3\lst@escapebegin + \fi}% + {}} +\lst@NewMode\lst@TeXmode +\lst@Key{escapebegin}{}{\def\lst@escapebegin{#1}} +\lst@Key{escapeend}{}{\def\lst@escapeend{#1}} +\lst@Key{escapechar}{} + {\ifx\@empty#1\@empty + \let\lst@DefEsc\relax + \else + \def\lst@DefEsc{\lst@Escape{#1}{#1}{}{}}% + \fi} +\lst@AddToHook{TextStyle}{\let\lst@DefEsc\@empty} +\lst@AddToHook{SelectCharTable}{\lst@DefEsc} +\lst@Key{escapeinside}{}{\lstKV@TwoArg{#1}% + {\let\lst@DefEsc\@empty + \ifx\@empty##1@empty\else \ifx\@empty##2\@empty\else + \def\lst@DefEsc{\lst@Escape{##1}{##2}{}{}}% + \fi\fi}} +\lst@Key{mathescape}{false}[t]{\lstKV@SetIf{#1}\lst@ifmathescape} +\lst@AddToHook{SelectCharTable} + {\lst@ifmathescape \lst@Escape{\$}{\$}% + {\setbox\@tempboxa=\hbox\bgroup$}% + {$\egroup \lst@CalcLostSpaceAndOutput}\fi} +\lst@EndAspect +\lst@BeginAspect{keywords} +\global\let\lst@ifsensitive\iftrue % init +\global\let\lst@ifsensitivedefed\iffalse % init % \global +\lst@ifsavemem\else +\gdef\lst@KeywordTest#1#2#3{% + \begingroup \let\lst@UM\@empty + \global\expandafter\let\expandafter\@gtempa + \csname\@lst#1@\the\lst@token\endcsname + \endgroup + \ifx\@gtempa\relax\else + \let\lst@thestyle\@gtempa + \fi} +\gdef\lst@KEYWORDTEST{% + \uppercase\expandafter{\expandafter + \lst@KEYWORDTEST@\the\lst@token}\relax} +\gdef\lst@KEYWORDTEST@#1\relax#2#3#4{% + \begingroup \let\lst@UM\@empty + \global\expandafter\let\expandafter\@gtempa + \csname\@lst#2@#1\endcsname + \endgroup + \ifx\@gtempa\relax\else + \let\lst@thestyle\@gtempa + \fi} +\gdef\lst@WorkingTest#1#2#3{% + \begingroup \let\lst@UM\@empty + \global\expandafter\let\expandafter\@gtempa + \csname\@lst#1@\the\lst@token\endcsname + \endgroup + \@gtempa} +\gdef\lst@WORKINGTEST{% + \uppercase\expandafter{\expandafter + \lst@WORKINGTEST@\the\lst@token}\relax} +\gdef\lst@WORKINGTEST@#1\relax#2#3#4{% + \begingroup \let\lst@UM\@empty + \global\expandafter\let\expandafter\@gtempa + \csname\@lst#2@#1\endcsname + \endgroup + \@gtempa} +\gdef\lst@DefineKeywords#1#2#3{% + \lst@ifsensitive + \def\lst@next{\lst@for#2}% + \else + \def\lst@next{\uppercase\expandafter{\expandafter\lst@for#2}}% + \fi + \lst@next\do + {\expandafter\ifx\csname\@lst#1@##1\endcsname\relax + \global\expandafter\let\csname\@lst#1@##1\endcsname#3% + \fi}} +\gdef\lst@UndefineKeywords#1#2#3{% + \lst@ifsensitivedefed + \def\lst@next{\lst@for#2}% + \else + \def\lst@next{\uppercase\expandafter{\expandafter\lst@for#2}}% + \fi + \lst@next\do + {\expandafter\ifx\csname\@lst#1@##1\endcsname#3% + \global\expandafter\let\csname\@lst#1@##1\endcsname\relax + \fi}} +\fi +\lst@ifsavemem +\gdef\lst@IfOneOutOf#1\relax#2{% + \def\lst@temp##1,#1,##2##3\relax{% + \ifx\@empty##2\else \expandafter\lst@IOOOfirst \fi}% + \def\lst@next{\lst@IfOneOutOf@#1\relax}% + \expandafter\lst@next#2\relax\relax} +\gdef\lst@IfOneOutOf@#1\relax#2#3{% + \ifx#2\relax + \expandafter\@secondoftwo + \else + \expandafter\lst@temp\expandafter,#2,#1,\@empty\relax + \expandafter\lst@next + \fi} +\ifx\iffalse\else\fi +\gdef\lst@IOOOfirst#1\relax#2#3{\fi#2} +\gdef\lst@IFONEOUTOF#1\relax#2{% + \uppercase{\def\lst@temp##1,#1},##2##3\relax{% + \ifx\@empty##2\else \expandafter\lst@IOOOfirst \fi}% + \def\lst@next{\lst@IFONEOUTOF@#1\relax}% + \expandafter\lst@next#2\relax} +\gdef\lst@IFONEOUTOF@#1\relax#2#3{% + \ifx#2\relax + \expandafter\@secondoftwo + \else + \uppercase + {\expandafter\lst@temp\expandafter,#2,#1,\@empty\relax}% + \expandafter\lst@next + \fi} +\gdef\lst@KWTest{% + \begingroup \let\lst@UM\@empty + \expandafter\xdef\expandafter\@gtempa\expandafter{\the\lst@token}% + \endgroup + \expandafter\lst@IfOneOutOf\@gtempa\relax} +\gdef\lst@KeywordTest#1#2#3{\lst@KWTest #2{\let\lst@thestyle#3}{}} +\global\let\lst@KEYWORDTEST\lst@KeywordTest +\gdef\lst@WorkingTest#1#2#3{\lst@KWTest #2#3{}} +\global\let\lst@WORKINGTEST\lst@WorkingTest +\fi +\lst@Key{sensitive}\relax[t]{\lstKV@SetIf{#1}\lst@ifsensitive} +\lst@AddToHook{SetLanguage}{\let\lst@ifsensitive\iftrue} +\lst@AddToHook{Init} + {\lst@ifsensitive\else + \let\lst@KeywordTest\lst@KEYWORDTEST + \let\lst@WorkingTest\lst@WORKINGTEST + \let\lst@IfOneOutOf\lst@IFONEOUTOF + \fi} +\gdef\lst@MakeMacroUppercase#1{% + \ifx\@undefined#1\else \uppercase\expandafter + {\expandafter\def\expandafter#1\expandafter{#1}}% + \fi} +\gdef\lst@InstallTest#1#2#3#4#5#6#7#8{% + \lst@AddToHook{TrackKeywords}{\lst@TrackKeywords{#1}#2#4#6#7#8}% + \lst@AddToHook{PostTrackKeywords}{\lst@PostTrackKeywords#2#3#4#5}} +\lst@AddToHook{Init}{\lsthk@TrackKeywords\lsthk@PostTrackKeywords} +\lst@AddToHook{TrackKeywords} + {\global\let\lst@DoDefineKeywords\@empty}% init +\lst@AddToHook{PostTrackKeywords} + {\lst@DoDefineKeywords + \global\let\lst@DoDefineKeywords\@empty}% init +\lst@AddToHook{Output}{\lst@ifkeywords \lsthk@DetectKeywords \fi} +\lst@AddToHook{DetectKeywords}{}% init +\lst@AddToHook{ModeTrue}{\let\lst@ifkeywords\iffalse} +\lst@AddToHookExe{Init}{\let\lst@ifkeywords\iftrue} +\gdef\lst@InstallTestNow#1#2#3#4#5{% + \@ifundefined{\string#2#1}% + {\global\@namedef{\string#2#1}{}% + \edef\@tempa{% + \noexpand\lst@AddToHook{\ifx#5dDetectKeywords\else Output\fi}% + {\ifx #4w\noexpand\lst@WorkingTest + \else\noexpand\lst@KeywordTest \fi + {#1}\noexpand#2\noexpand#3}}% + \lst@ifsavemem + \@tempa + \else + \@ifundefined{\@lst#1@if@ins}% + {\@tempa \global\@namedef{\@lst#1@if@ins}{}}% + {}% + \fi} + {}} +\gdef\lst@TrackKeywords#1#2#3#4#5#6{% + \lst@false + \def\lst@arg{{#1}#4}% + \expandafter\expandafter\expandafter\lst@TK@ + \expandafter\lst@arg#2\relax\relax + \lst@ifsavemem\else + \def\lst@arg{{#1}#4#2}% + \expandafter\expandafter\expandafter\lst@TK@@ + \expandafter\lst@arg#3\relax\relax + \fi + \lst@if \lst@InstallTestNow{#1}#2#4#5#6\fi} +\gdef\lst@TK@#1#2#3#4{% + \ifx\lst@ifsensitive\lst@ifsensitivedefed + \ifx#3#4\else + \lst@true + \lst@ifsavemem\else + \lst@UndefineKeywords{#1}#4#2% + \lst@AddTo\lst@DoDefineKeywords{\lst@DefineKeywords{#1}#3#2}% + \fi + \fi + \else + \ifx#3\relax\else + \lst@true + \lst@ifsavemem\else + \lst@UndefineKeywords{#1}#4#2% + \lst@AddTo\lst@DoDefineKeywords{\lst@DefineKeywords{#1}#3#2}% + \fi + \fi + \fi + \lst@ifsavemem \ifx#3\relax\else + \lst@ifsensitive\else \lst@MakeMacroUppercase#3\fi + \fi \fi + \ifx#3\relax + \expandafter\@gobblethree + \fi + \lst@TK@{#1}#2} +\gdef\lst@TK@@#1#2#3#4#5{% + \ifx#4\relax + \expandafter\@gobblefour + \else + \lst@IfSubstring{#4#5}#3{}{\lst@UndefineKeywords{#1}#5#2}% + \fi + \lst@TK@@{#1}#2#3} +\lst@AddToHook{InitVars} + {\global\let\lst@ifsensitivedefed\lst@ifsensitive} +\gdef\lst@PostTrackKeywords#1#2#3#4{% + \lst@ifsavemem\else + \global\let#3#1% + \global\let#4#2% + \fi} +\lst@Key{classoffset}\z@{\def\lst@classoffset{#1}} +\gdef\lst@InstallFamily#1#2#3#4#5{% + \lst@Key{#2}\relax{\lst@UseFamily{#2}##1\relax\lst@MakeKeywords}% + \lst@Key{more#2}\relax + {\lst@UseFamily{#2}##1\relax\lst@MakeMoreKeywords}% + \lst@Key{delete#2}\relax + {\lst@UseFamily{#2}##1\relax\lst@DeleteKeywords}% + \ifx\@empty#3\@empty\else + \lst@Key{#3}{#4}{\lstKV@OptArg[\@ne]{##1}% + {\@tempcnta\lst@classoffset \advance\@tempcnta####1\relax + \@namedef{lst@#3\ifnum\@tempcnta=\@ne\else \the\@tempcnta + \fi}{####2}}}% + \fi + \expandafter\lst@InstallFamily@ + \csname\@lst @#2@data\expandafter\endcsname + \csname\@lst @#5\endcsname {#1}{#2}{#3}} +\gdef\lst@InstallFamily@#1#2#3#4#5#6#7#8{% + \gdef#1{{#3}{#4}{#5}#2#7}% + \long\def\lst@temp##1{#6}% + \ifx\lst@temp\@gobble + \lst@AddTo#1{s#8}% + \else + \lst@AddTo#1{w#8}% + \global\@namedef{lst@g#4@wp}##1{#6}% + \fi} +\gdef\lst@UseFamily#1{% + \def\lst@family{#1}% + \@ifnextchar[\lst@UseFamily@{\lst@UseFamily@[\@ne]}} +\gdef\lst@UseFamily@[#1]{% + \@tempcnta\lst@classoffset \advance\@tempcnta#1\relax + \lst@ProvideFamily\lst@family + \lst@UseFamily@a + {\lst@family\ifnum\@tempcnta=\@ne\else \the\@tempcnta \fi}} +\gdef\lst@UseFamily@a#1{% + \expandafter\lst@UseFamily@b + \csname\@lst @#1@list\expandafter\endcsname + \csname\@lst @#1\expandafter\endcsname + \csname\@lst @#1@also\expandafter\endcsname + \csname\@lst @g#1\endcsname} +\gdef\lst@UseFamily@b#1#2#3#4#5\relax#6{\lstKV@XOptArg[]{#5}#6#1#2#3#4} +\gdef\lst@ProvideFamily#1{% + \@ifundefined{lstfam@#1\ifnum\@tempcnta=\@ne\else\the\@tempcnta\fi}% + {\global\@namedef{lstfam@#1\ifnum\@tempcnta=\@ne\else + \the\@tempcnta\fi}{}% + \expandafter\expandafter\expandafter\lst@ProvideFamily@ + \csname\@lst @#1@data\endcsname + {\ifnum\@tempcnta=\@ne\else \the\@tempcnta \fi}}% + {}}% +\gdef\lst@ProvideFamily@#1#2#3#4#5#6#7#8{% + \expandafter\xdef\csname\@lst @g#2#8@sty\endcsname + {\if #6w% + \expandafter\noexpand\csname\@lst @g#2@wp\endcsname{#8}% + \else + \expandafter\noexpand\csname\@lst @#3#8\endcsname + \fi}% + \ifx\@empty#3\@empty\else + \edef\lst@temp{\noexpand\lst@AddToHook{Init}{% + \noexpand\lst@ProvideStyle\expandafter\noexpand + \csname\@lst @#3#8\endcsname\noexpand#4}}% + \lst@temp + \fi + \expandafter\lst@ProvideFamily@@ + \csname\@lst @#2#8@list\expandafter\endcsname + \csname\@lst @#2#8\expandafter\endcsname + \csname\@lst @#2#8@also\expandafter\endcsname + \csname\@lst @g#2#8@list\expandafter\endcsname + \csname\@lst @g#2#8\expandafter\endcsname + \csname\@lst @g#2#8@sty\expandafter\endcsname + {#1}#5#6#7} +\gdef\lst@ProvideFamily@@#1#2#3#4#5#6#7#8{% + \gdef#1{#2#5}\global\let#2\@empty \global\let#3\@empty % init + \gdef#4{#2#5}\global\let#5\@empty % init + \if #8l\relax + \lst@AddToHook{SetLanguage}{\def#1{#2#5}\let#2\@empty}% + \fi + \lst@InstallTest{#7}#1#2#4#5#6} +\gdef\lst@InstallKeywords#1#2#3#4#5{% + \lst@Key{#2}\relax + {\lst@UseFamily{#2}[\@ne]##1\relax\lst@MakeKeywords}% + \lst@Key{more#2}\relax + {\lst@UseFamily{#2}[\@ne]##1\relax\lst@MakeMoreKeywords}% + \lst@Key{delete#2}\relax + {\lst@UseFamily{#2}[\@ne]##1\relax\lst@DeleteKeywords}% + \ifx\@empty#3\@empty\else + \lst@Key{#3}{#4}{\@namedef{lst@#3}{##1}}% + \fi + \expandafter\lst@InstallFamily@ + \csname\@lst @#2@data\expandafter\endcsname + \csname\@lst @#5\endcsname {#1}{#2}{#3}} +\gdef\lst@ProvideStyle#1#2{% + \ifx#1\@undefined \let#1#2% + \else\ifx#1\relax \let#1#2\fi\fi} +\gdef\lst@BuildClassList#1#2,{% + \ifx\relax#2\@empty\else + \ifx\@empty#2\@empty\else + \lst@lExtend#1{\csname\@lst @#2\expandafter\endcsname + \csname\@lst @g#2\endcsname}% + \fi + \expandafter\lst@BuildClassList\expandafter#1 + \fi} +\gdef\lst@DeleteClassesIn#1#2{% + \expandafter\lst@DCI@\expandafter#1#2\relax\relax} +\gdef\lst@DCI@#1#2#3{% + \ifx#2\relax + \expandafter\@gobbletwo + \else + \def\lst@temp##1#2#3##2{% + \lst@lAddTo#1{##1}% + \ifx ##2\relax\else + \expandafter\lst@temp + \fi ##2}% + \let\@tempa#1\let#1\@empty + \expandafter\lst@temp\@tempa#2#3\relax + \fi + \lst@DCI@#1} +\gdef\lst@MakeKeywords[#1]#2#3#4#5#6{% + \def#3{#4#6}\let#4\@empty \let#5\@empty + \lst@MakeMoreKeywords[#1]{#2}#3#4#5#6} +\gdef\lst@MakeMoreKeywords[#1]#2#3#4#5#6{% + \lst@BuildClassList#3#1,\relax,% + \lst@DefOther\lst@temp{,#2}\lst@lExtend#4\lst@temp} +\gdef\lst@DeleteKeywords[#1]#2#3#4#5#6{% + \lst@MakeKeywords[#1]{#2}\@tempa\@tempb#5#6% + \lst@DeleteClassesIn#3\@tempa + \lst@DeleteKeysIn#4\@tempb} +\lst@InstallFamily k{keywords}{keywordstyle}\bfseries{keywordstyle}{}ld +\gdef\lst@DefKeywordstyle#1#2\@nil@{% + \@namedef{lst@keywordstyle\ifnum\@tempcnta=\@ne\else\the\@tempcnta + \fi}{#1#2}}% +\lst@Key{keywordstyle}{\bfseries}{\lstKV@OptArg[\@ne]{#1}% + {\@tempcnta\lst@classoffset \advance\@tempcnta##1\relax + \@ifstar{\lst@DefKeywordstyle{\uppercase\expandafter{% + \expandafter\lst@token + \expandafter{\the\lst@token}}}}% + {\lst@DefKeywordstyle{}}##2\@nil@}} +\lst@Key{ndkeywords}\relax + {\lst@UseFamily{keywords}[\tw@]#1\relax\lst@MakeKeywords}% +\lst@Key{morendkeywords}\relax + {\lst@UseFamily{keywords}[\tw@]#1\relax\lst@MakeMoreKeywords}% +\lst@Key{deletendkeywords}\relax + {\lst@UseFamily{keywords}[\tw@]#1\relax\lst@DeleteKeywords}% +\lst@Key{ndkeywordstyle}\relax{\@namedef{lst@keywordstyle2}{#1}}% +\lst@Key{keywordsprefix}\relax{\lst@DefActive\lst@keywordsprefix{#1}} +\global\let\lst@keywordsprefix\@empty +\lst@AddToHook{SelectCharTable} + {\ifx\lst@keywordsprefix\@empty\else + \expandafter\lst@CArg\lst@keywordsprefix\relax + \lst@CDef{}% + {\lst@ifletter\else + \global\let\lst@prefixkeyword\@empty + \fi}% + {}% + \fi} +\lst@AddToHook{Init}{\global\let\lst@prefixkeyword\relax} +\lst@AddToHook{Output} + {\ifx\lst@prefixkeyword\@empty + \let\lst@thestyle\lst@gkeywords@sty + \global\let\lst@prefixkeyword\relax + \fi}% +\lst@Key{otherkeywords}{}{% + \let\lst@otherkeywords\@empty + \lst@for{#1}\do{% + \lst@MakeActive{##1}% + \lst@lExtend\lst@otherkeywords{% + \expandafter\lst@CArg\lst@temp\relax\lst@CDef + {}\lst@PrintOtherKeyword\@empty}}} +\lst@AddToHook{SelectCharTable}{\lst@otherkeywords} +\gdef\lst@PrintOtherKeyword#1\@empty{% + \lst@XPrintToken + \begingroup + \lst@modetrue \lsthk@TextStyle + \let\lst@ProcessDigit\lst@ProcessLetter + \let\lst@ProcessOther\lst@ProcessLetter + \lst@lettertrue + #1% + \lst@SaveToken + \endgroup +\lst@RestoreToken +\global\let\lst@savedcurrstyle\lst@currstyle +\let\lst@currstyle\lst@gkeywords@sty + \lst@Output +\let\lst@currstyle\lst@savedcurrstyle} +\lst@EndAspect +\lst@BeginAspect[keywords]{emph} +\lst@InstallFamily e{emph}{emphstyle}{}{emphstyle}{}od +\lst@EndAspect +\lst@BeginAspect[keywords]{tex} +\lst@InstallFamily {cs}{texcs}{texcsstyle}\relax{keywordstyle} + {\ifx\lst@lastother\lstum@backslash + \expandafter\let\expandafter\lst@thestyle + \csname lst@texcsstyle#1\endcsname + \fi} + ld +\lst@Key{texcsstyle}\relax + {\@ifstar{\lst@true\lst@DefTexcsstyle}% + {\lst@false\lst@DefTexcsstyle}#1\@nil@} +\gdef\lst@DefTexcsstyle#1\@nil@{% + \let\lst@iftexcsincludebs\lst@if + \lstKV@OptArg[\@ne]{#1}% + {\@tempcnta\lst@classoffset \advance\@tempcnta##1\relax + \@namedef{lst@texcsstyle\ifnum\@tempcnta=\@ne\else + \the\@tempcnta \fi}{##2}}}% +\global\let\lst@iftexcsincludebs\iffalse +\let\lst@iftexcsincludebs\iffalse +\lst@AddToHook{SelectCharTable} +{\lst@iftexcsincludebs \ifx\@empty\lst@texcs\else + \lst@DefSaveDef{`\\}\lsts@texcsbs + {\ifx\lst@lastother\lstum@backslash + \lsts@texcsbs\lst@XPrintToken + \else + \lst@Merge\lsts@texcsbs + \fi}% + \fi \fi} +\lst@EndAspect +\lst@BeginAspect[keywords]{directives} +\lst@NewMode\lst@CDmode +\lst@AddToHook{EOL}{\ifnum\lst@mode=\lst@CDmode \lst@LeaveMode \fi} +\lst@InstallKeywords{d}{directives}{directivestyle}\relax{keywordstyle} + {\ifnum\lst@mode=\lst@CDmode + \let\lst@thestyle\lst@directivestyle + \fi} + ld +\global\let\lst@directives\@empty % init +\lst@AddTo\lst@delimtypes{,directive} +\gdef\lst@Delim@directive#1\@empty#2#3#4{% + \lst@CArg #1\relax\lst@DefDelimB + {\lst@CalcColumn}% + {}% + {\ifnum\@tempcnta=\z@ + \def\lst@bnext{#2\lst@CDmode{#4\lst@Lmodetrue}% + \let\lst@currstyle\lst@directivestyle}% + \fi + \@gobblethree}% + #2\lst@CDmode{#4\lst@Lmodetrue}} +\lst@AddTo\lst@stringtypes{,directive} +\gdef\lst@StringDM@directive#1#2#3\@empty{% + \lst@CArg #2\relax\lst@CDef + {}% + {\let\lst@bnext\lst@CArgEmpty + \ifnum\lst@mode=\lst@CDmode + \def\lst@bnext{\lst@BeginString{#1}}% + \fi + \lst@bnext}% + \@empty + \lst@CArg #3\relax\lst@CDef + {}% + {\let\lst@enext\lst@CArgEmpty + \ifnum #1=\lst@mode + \let\lst@bnext\lst@EndString + \fi + \lst@bnext}% + \@empty} +\lst@EndAspect +\lst@BeginAspect[keywords,comments]{keywordcomments} +\lst@NewMode\lst@KCmode \lst@NewMode\lst@KCSmode +\gdef\lst@BeginKC{\aftergroup\aftergroup\aftergroup\lst@BeginKC@}% +\gdef\lst@BeginKC@{% + \lst@ResetToken + \lst@BeginComment\lst@KCmode{{\lst@commentstyle}\lst@modetrue}% + \@empty}% +\gdef\lst@BeginKCS{\aftergroup\aftergroup\aftergroup\lst@BeginKCS@}% +\gdef\lst@BeginKCS@{% + \lst@ResetToken + \lst@BeginComment\lst@KCSmode{{\lst@commentstyle}\lst@modetrue}% + \@empty}% +\lst@AddToHook{PostOutput}{\lst@KCpost \global\let\lst@KCpost\@empty} +\global\let\lst@KCpost\@empty % init +\gdef\lst@EndKC{\lst@SaveToken \lst@LeaveMode \lst@RestoreToken + \let\lst@thestyle\lst@identifierstyle \lsthk@Output} +\lst@InstallKeywords{kc}{keywordcomment}{}\relax{} + {\ifnum\lst@mode=\lst@KCmode + \edef\lst@temp{\the\lst@token}% + \ifx\lst@temp\lst@KCmatch + \lst@EndKC + \fi + \else + \lst@ifmode\else + \xdef\lst@KCmatch{\the\lst@token}% + \global\let\lst@KCpost\lst@BeginKC + \fi + \fi} + lo +\lst@Key{keywordcommentsemicolon}{}{\lstKV@ThreeArg{#1}% + {\def\lst@KCAkeywordsB{##1}% + \def\lst@KCAkeywordsE{##2}% + \def\lst@KCBkeywordsB{##3}% + \def\lst@KCkeywords{##1##2##3}}} +\lst@AddToHook{SetLanguage}{% + \let\lst@KCAkeywordsB\@empty \let\lst@KCAkeywordsE\@empty + \let\lst@KCBkeywordsB\@empty \let\lst@KCkeywords\@empty} +\lst@AddToHook{SelectCharTable} + {\ifx\lst@KCkeywords\@empty\else + \lst@DefSaveDef{`\;}\lsts@EKC + {\lst@XPrintToken + \ifnum\lst@mode=\lst@KCmode \lst@EndComment\@empty \else + \ifnum\lst@mode=\lst@KCSmode \lst@EndComment\@empty + \fi \fi + \lsts@EKC}% + \fi} +\gdef\lst@KCAWorkB{% + \lst@ifmode\else \global\let\lst@KCpost\lst@BeginKC \fi} +\gdef\lst@KCBWorkB{% + \lst@ifmode\else \global\let\lst@KCpost\lst@BeginKCS \fi} +\gdef\lst@KCAWorkE{\ifnum\lst@mode=\lst@KCmode \lst@EndKC \fi} +\lst@ProvideFamily@@ + \lst@KCAkeywordsB@list\lst@KCAkeywordsB \lst@KC@also + \lst@gKCAkeywordsB@list\lst@gKCAkeywordsB \lst@KCAWorkB + {kcb}owo % prefix, other key, working procedure, Output hook +\lst@ProvideFamily@@ + \lst@KCAkeywordsE@list\lst@KCAkeywordsE \lst@KC@also + \lst@gKCAkeywordsE@list\lst@gKCAkeywordsE \lst@KCAWorkE + {kce}owo +\lst@ProvideFamily@@ + \lst@KCBkeywordsB@list\lst@KCBkeywordsB \lst@KC@also + \lst@gKCBkeywordsB@list\lst@gKCBkeywordsB \lst@KCBWorkB + {kcs}owo +\lst@EndAspect +\lst@BeginAspect[keywords]{index} +\lst@InstallFamily w{index}{indexstyle}\lstindexmacro{indexstyle} + {\csname\@lst @indexstyle#1\expandafter\endcsname + \expandafter{\the\lst@token}} + od +\lst@UserCommand\lstindexmacro#1{\index{{\ttfamily#1}}} +\lst@EndAspect +\lst@BeginAspect[keywords]{procnames} +\gdef\lst@procnametrue{\global\let\lst@ifprocname\iftrue} +\gdef\lst@procnamefalse{\global\let\lst@ifprocname\iffalse} +\lst@AddToHook{Init}{\lst@procnamefalse} +\lst@AddToHook{DetectKeywords} + {\lst@ifprocname + \let\lst@thestyle\lst@procnamestyle + \lst@ifindexproc \csname\@lst @gindex@sty\endcsname \fi + \lst@procnamefalse + \fi} +\lst@Key{procnamestyle}{}{\def\lst@procnamestyle{#1}} +\lst@Key{indexprocnames}{false}[t]{\lstKV@SetIf{#1}\lst@ifindexproc} +\lst@AddToHook{Init}{\lst@ifindexproc \lst@indexproc \fi} +\gdef\lst@indexproc{% + \@ifundefined{lst@indexstyle1}% + {\@namedef{lst@indexstyle1}##1{}}% + {}} +\lst@InstallKeywords w{procnamekeys}{}\relax{} + {\global\let\lst@PNpost\lst@procnametrue} + od +\lst@AddToHook{PostOutput}{\lst@PNpost\global\let\lst@PNpost\@empty} +\global\let\lst@PNpost\@empty % init +\lst@EndAspect +\lst@BeginAspect{style} +\@ifundefined{lststylefiles} + {\lst@UserCommand\lststylefiles{lststy0.sty}}{} +\lst@UserCommand\lstdefinestyle{\lst@DefStyle\iftrue} +\lst@UserCommand\lst@definestyle{\lst@DefStyle\iffalse} +\gdef\lst@DefStyle{\lst@DefDriver{style}{sty}\lstset} +\global\@namedef{lststy@$}{\lsthk@EmptyStyle} +\lst@AddToHook{EmptyStyle}{}% init +\lst@Key{style}\relax{% + \lst@LAS{style}{sty}{[]{#1}}\lst@NoAlias\lststylefiles + \lsthk@SetStyle + {}} +\lst@AddToHook{SetStyle}{}% init +\lst@EndAspect +\lst@BeginAspect{language} +\@ifundefined{lstdriverfiles} + {\lst@UserCommand\lstlanguagefiles{lstlang0.sty}}{} +\lst@UserCommand\lstdefinelanguage{\lst@DefLang\iftrue} +\lst@UserCommand\lst@definelanguage{\lst@DefLang\iffalse} +\gdef\lst@DefLang{\lst@DefDriver{language}{lang}\lstset} +\lstdefinelanguage{}{} +\lst@Key{language}\relax{\lstKV@OptArg[]{#1}% + {\lst@LAS{language}{lang}{[##1]{##2}}\lst@FindAlias\lstlanguagefiles + \lsthk@SetLanguage + {\lst@FindAlias[##1]{##2}% + \let\lst@language\lst@malias + \let\lst@dialect\lst@oalias}}} +\lst@Key{alsolanguage}\relax{\lstKV@OptArg[]{#1}% + {\lst@LAS{language}{lang}{[##1]{##2}}\lst@FindAlias\lstlanguagefiles + {}% + {\lst@FindAlias[##1]{##2}% + \let\lst@language\lst@malias + \let\lst@dialect\lst@oalias}}} +\lst@AddToHook{SetLanguage}{}% init +\lst@UserCommand\lstalias{\@ifnextchar[\lstalias@\lstalias@@} +\gdef\lstalias@[#1]#2{\lstalias@b #2$#1} +\gdef\lstalias@b#1[#2]#3{\lst@NormedNameDef{lsta@#1}{#3$#2}} +\gdef\lstalias@@#1#2{\lst@NormedNameDef{lsta@#1}{#2}} +\lst@Key{defaultdialect}\relax + {\lstKV@OptArg[]{#1}{\lst@NormedNameDef{lstdd@##2}{##1}}} +\gdef\lst@FindAlias[#1]#2{% + \lst@NormedDef\lst@oalias{#1}% + \lst@NormedDef\lst@malias{#2}% + \@ifundefined{lsta@\lst@malias}{}% + {\edef\lst@malias{\csname\@lst a@\lst@malias\endcsname}}% + \ifx\@empty\lst@oalias \@ifundefined{lstdd@\lst@malias}{}% + {\edef\lst@oalias{\csname\@lst dd@\lst@malias\endcsname}}% + \fi + \edef\lst@temp{\lst@malias $\lst@oalias}% + \@ifundefined{lsta@\lst@temp}{}% + {\edef\lst@temp{\csname\@lst a@\lst@temp\endcsname}}% + \expandafter\lst@FindAlias@\lst@temp $} +\gdef\lst@FindAlias@#1$#2${% + \def\lst@malias{#1}\def\lst@oalias{#2}% + \ifx\@empty\lst@oalias \@ifundefined{lstdd@\lst@malias}{}% + {\edef\lst@oalias{\csname\@lst dd@\lst@malias\endcsname}}% + \fi} +\gdef\lst@RequireLanguages#1{% + \lst@Require{language}{lang}{#1}\lst@FindAlias\lstlanguagefiles + \ifx\lst@loadaspects\@empty\else + \lst@RequireAspects\lst@loadaspects + \fi} +\global\let\lstloadlanguages\lst@RequireLanguages +\lst@EndAspect +\lst@BeginAspect{formats} +\@ifundefined{lstformatfiles} + {\lst@UserCommand\lstformatfiles{lstfmt0.sty}}{} +\lst@UserCommand\lstdefineformat{\lst@DefFormat\iftrue} +\lst@UserCommand\lst@defineformat{\lst@DefFormat\iffalse} +\gdef\lst@DefFormat{\lst@DefDriver{format}{fmt}\lst@UseFormat} +\lstdefineformat{}{} +\lst@Key{format}\relax{% + \lst@LAS{format}{fmt}{[]{#1}}\lst@NoAlias\lstformatfiles + \lsthk@SetFormat + {}} +\lst@AddToHook{SetFormat}{\let\lst@fmtformat\@empty}% init +\gdef\lst@fmtSplit#1#2{% + \def\lst@temp##1#2##2\relax##3{% + \ifnum##3=\z@ + \ifx\@empty##2\@empty + \lst@false + \let\lst@fmta#1% + \let\lst@fmtb\@empty + \else + \expandafter\lst@temp#1\relax\@ne + \fi + \else + \def\lst@fmta{##1}\def\lst@fmtb{##2}% + \fi}% + \lst@true + \expandafter\lst@temp#1#2\relax\z@} +\gdef\lst@IfNextCharWhitespace#1#2#3{% + \lst@IfSubstring#3\lst@whitespaces{#1}{#2}#3} +\begingroup +\catcode`\^^I=12\catcode`\^^J=12\catcode`\^^M=12\catcode`\^^L=12\relax% +\lst@DefActive\lst@whitespaces{\ ^^I^^J^^M}% add ^^L +\global\let\lst@whitespaces\lst@whitespaces% +\endgroup +\gdef\lst@fmtIfIdentifier#1{% + \ifx\relax#1\@empty + \expandafter\@secondoftwo + \else + \expandafter\lst@fmtIfIdentifier@\expandafter#1% + \fi} +\gdef\lst@fmtIfIdentifier@#1#2\relax{% + \let\lst@next\@secondoftwo + \ifnum`#1=`_\else + \ifnum`#1<64\else + \ifnum`#1<91\let\lst@next\@firstoftwo\else + \ifnum`#1<97\else + \ifnum`#1<123\let\lst@next\@firstoftwo\else + \fi \fi \fi \fi \fi + \lst@next} +\gdef\lst@fmtIfNextCharIn#1{% + \ifx\@empty#1\@empty \expandafter\@secondoftwo \else + \def\lst@next{\lst@fmtIfNextCharIn@{#1}}% + \expandafter\lst@next\fi} +\gdef\lst@fmtIfNextCharIn@#1#2#3#4{% + \def\lst@temp##1#4##2##3\relax{% + \ifx \@empty##2\expandafter\@secondoftwo + \else \expandafter\@firstoftwo \fi}% + \lst@temp#1#4\@empty\relax{#2}{#3}#4} +\gdef\lst@fmtCDef#1{\lst@fmtCDef@#1} +\gdef\lst@fmtCDef@#1#2#3#4#5#6#7{% + \lst@CDefIt#1{#2}{#3}% + {\lst@fmtIfNextCharIn{#5}{#4#2#3}{#6#4#2#3#7}}% + #4% + {}{}{}} +\gdef\lst@fmtCDefX#1{\lst@fmtCDefX@#1} +\gdef\lst@fmtCDefX@#1#2#3#4#5#6#7{% + \let#4#1% + \ifx\@empty#2\@empty + \def#1{\lst@fmtIfNextCharIn{#5}{#4}{#6#7}}% + \else \ifx\@empty#3\@empty + \def#1##1{% + \ifx##1#2% + \def\lst@next{\lst@fmtIfNextCharIn{#5}{#4##1}% + {#6#7}}% + \else + \def\lst@next{#4##1}% + \fi + \lst@next}% + \else + \def#1{% + \lst@IfNextCharsArg{#2#3}% + {\lst@fmtIfNextCharIn{#5}{\expandafter#4\lst@eaten}% + {#6#7}}% + {\expandafter#4\lst@eaten}}% + \fi \fi} +\gdef\lst@UseFormat#1{% + \def\lst@fmtwhole{#1}% + \lst@UseFormat@} +\gdef\lst@UseFormat@{% + \lst@fmtSplit\lst@fmtwhole,% + \let\lst@fmtwhole\lst@fmtb + \ifx\lst@fmta\@empty\else + \lst@fmtSplit\lst@fmta=% + \ifx\@empty\lst@fmta\else + \expandafter\lstKV@XOptArg\expandafter[\expandafter]% + \expandafter{\lst@fmtb}\lst@UseFormat@b + \fi + \fi + \ifx\lst@fmtwhole\@empty\else + \expandafter\lst@UseFormat@ + \fi} +\gdef\lst@UseFormat@b[#1]#2{% + \def\lst@fmtc{{#1}}\lst@lExtend\lst@fmtc{\expandafter{\lst@fmta}}% + \def\lst@fmtb{#2}% + \lst@fmtSplit\lst@fmtb\string + \ifx\@empty\lst@fmta + \lst@lAddTo\lst@fmtc{{}}% + \else + \lst@lExtend\lst@fmtc{\expandafter + {\expandafter\lst@fmtPre\expandafter{\lst@fmta}}}% + \fi + \ifx\@empty\lst@fmtb + \lst@lAddTo\lst@fmtc{{}}% + \else + \lst@lExtend\lst@fmtc{\expandafter + {\expandafter\lst@fmtPost\expandafter{\lst@fmtb}}}% + \fi + \expandafter\lst@UseFormat@c\lst@fmtc} +\gdef\lst@UseFormat@c#1#2#3#4{% + \lst@fmtIfIdentifier#2\relax + {\lst@fmtIdentifier{#2}% + \lst@if\else \PackageWarning{Listings}% + {Cannot drop identifier in format definition}% + \fi}% + {\lst@if + \lst@lAddTo\lst@fmtformat{\lst@CArgX#2\relax\lst@fmtCDef}% + \else + \lst@lAddTo\lst@fmtformat{\lst@CArgX#2\relax\lst@fmtCDefX}% + \fi + \lst@DefActive\lst@fmtc{#1}% + \lst@lExtend\lst@fmtformat{\expandafter{\lst@fmtc}{#3}{#4}}}} +\lst@AddToHook{SelectCharTable}{\lst@fmtformat} +\global\let\lst@fmtformat\@empty +\gdef\lst@fmtPre#1{% + \lst@PrintToken + \begingroup + \let\newline\lst@fmtEnsureNewLine + \let\space\lst@fmtEnsureSpace + \let\indent\lst@fmtIndent + \let\noindent\lst@fmtNoindent + #1% + \endgroup} +\gdef\lst@fmtPost#1{% + \global\let\lst@fmtPostOutput\@empty + \begingroup + \def\newline{\lst@AddTo\lst@fmtPostOutput\lst@fmtEnsureNewLine}% + \def\space{\aftergroup\lst@fmtEnsurePostSpace}% + \def\indent{\lst@AddTo\lst@fmtPostOutput\lst@fmtIndent}% + \def\noindent{\lst@AddTo\lst@fmtPostOutput\lst@fmtNoindent}% + \aftergroup\lst@PrintToken + #1% + \endgroup} +\lst@AddToHook{Init}{\global\let\lst@fmtPostOutput\@empty} +\lst@AddToHook{PostOutput} + {\lst@fmtPostOutput \global\let\lst@fmtPostOutput\@empty} +\gdef\lst@fmtEnsureSpace{% + \lst@ifwhitespace\else \expandafter\lst@ProcessSpace \fi} +\gdef\lst@fmtEnsurePostSpace{% + \lst@IfNextCharWhitespace{}{\lst@ProcessSpace}} +\lst@Key{fmtindent}{20pt}{\def\lst@fmtindent{#1}} +\newdimen\lst@fmtcurrindent +\lst@AddToHook{InitVars}{\global\lst@fmtcurrindent\z@} +\gdef\lst@fmtIndent{\global\advance\lst@fmtcurrindent\lst@fmtindent} +\gdef\lst@fmtNoindent{\global\advance\lst@fmtcurrindent-\lst@fmtindent} +\gdef\lst@fmtEnsureNewLine{% + \global\advance\lst@newlines\@ne + \global\advance\lst@newlinesensured\@ne + \lst@fmtignoretrue} +\lst@AddToAtTop\lst@DoNewLines{% + \ifnum\lst@newlines>\lst@newlinesensured + \global\advance\lst@newlines-\lst@newlinesensured + \fi + \global\lst@newlinesensured\z@} +\newcount\lst@newlinesensured % global +\lst@AddToHook{Init}{\global\lst@newlinesensured\z@} +\gdef\lst@fmtignoretrue{\let\lst@fmtifignore\iftrue} +\gdef\lst@fmtignorefalse{\let\lst@fmtifignore\iffalse} +\lst@AddToHook{InitVars}{\lst@fmtignorefalse} +\lst@AddToHook{Output}{\lst@fmtignorefalse} +\gdef\lst@fmtUseLostSpace{% + \lst@ifnewline \kern\lst@fmtcurrindent \global\lst@lostspace\z@ + \else + \lst@OldOLS + \fi} +\lst@AddToHook{Init} + {\lst@true + \ifx\lst@fmtformat\@empty \ifx\lst@fmt\@empty \lst@false \fi\fi + \lst@if + \let\lst@OldOLS\lst@OutputLostSpace + \let\lst@OutputLostSpace\lst@fmtUseLostSpace + \let\lst@ProcessSpace\lst@fmtProcessSpace + \fi} +\gdef\lst@fmtProcessSpace{% + \lst@ifletter + \lst@Output + \lst@fmtifignore\else + \lst@AppendOther\lst@outputspace + \fi + \else \lst@ifkeepspaces + \lst@AppendOther\lst@outputspace + \else \ifnum\lst@newlines=\z@ + \lst@AppendSpecialSpace + \else \ifnum\lst@length=\z@ + \global\advance\lst@lostspace\lst@width + \global\advance\lst@pos\m@ne + \else + \lst@AppendSpecialSpace + \fi + \fi \fi \fi + \lst@whitespacetrue} +\lst@InstallTest{f} + \lst@fmt@list\lst@fmt \lst@gfmt@list\lst@gfmt + \lst@gfmt@wp + wd +\gdef\lst@fmt@list{\lst@fmt\lst@gfmt}\global\let\lst@fmt\@empty +\gdef\lst@gfmt@list{\lst@fmt\lst@gfmt}\global\let\lst@gfmt\@empty +\gdef\lst@gfmt@wp{% + \begingroup \let\lst@UM\@empty + \let\lst@PrintToken\@empty + \csname\@lst @fmt$\the\lst@token\endcsname + \endgroup} +\gdef\lst@fmtIdentifier#1#2#3#4{% + \lst@DefOther\lst@fmta{#2}\edef\lst@fmt{\lst@fmt,\lst@fmta}% + \@namedef{\@lst @fmt$\lst@fmta}{#3#4}} +\lst@EndAspect +\lst@BeginAspect{labels} +\lst@Key{numbers}{none}{% + \let\lst@PlaceNumber\@empty + \lstKV@SwitchCases{#1}% + {none&\\% + left&\def\lst@PlaceNumber{\llap{\normalfont + \lst@numberstyle{\thelstnumber}\kern\lst@numbersep}}\\% + right&\def\lst@PlaceNumber{\rlap{\normalfont + \kern\linewidth \kern\lst@numbersep + \lst@numberstyle{\thelstnumber}}}% + }{\PackageError{Listings}{Numbers #1 unknown}\@ehc}} +\lst@Key{numberstyle}{}{\def\lst@numberstyle{#1}} +\lst@Key{numbersep}{10pt}{\def\lst@numbersep{#1}} +\lst@Key{stepnumber}{1}{\def\lst@stepnumber{#1\relax}} +\lst@AddToHook{EmptyStyle}{\let\lst@stepnumber\@ne} +\lst@Key{numberblanklines}{true}[t] + {\lstKV@SetIf{#1}\lst@ifnumberblanklines} +\lst@Key{numberfirstline}{f}[t]{\lstKV@SetIf{#1}\lst@ifnumberfirstline} +\gdef\lst@numberfirstlinefalse{\let\lst@ifnumberfirstline\iffalse} +\lst@Key{firstnumber}{auto}{% + \lstKV@SwitchCases{#1}% + {auto&\let\lst@firstnumber\@undefined\\% + last&\let\lst@firstnumber\c@lstnumber + }{\def\lst@firstnumber{#1\relax}}} +\lst@AddToHook{PreSet}{\let\lst@advancenumber\z@} +\lst@AddToHook{PreInit} + {\ifx\lst@firstnumber\@undefined + \let\lst@firstnumber\lst@firstline + \fi} +\gdef\lst@SetFirstNumber{% + \ifx\lst@firstnumber\@undefined + \@tempcnta 0\csname\@lst no@\lst@intname\endcsname\relax + \ifnum\@tempcnta=\z@ \@tempcnta\lst@firstline + \else \lst@nololtrue \fi + \advance\@tempcnta\lst@advancenumber + \edef\lst@firstnumber{\the\@tempcnta\relax}% + \fi} +\gdef\lst@SaveFirstNumber{% + \expandafter\xdef + \csname\@lst no\ifx\lst@intname\@empty @ \else @\lst@intname\fi + \endcsname{\the\c@lstnumber}} +\newcounter{lstnumber}% \global +\global\c@lstnumber\@ne % init +\renewcommand*\thelstnumber{\@arabic\c@lstnumber} +\lst@AddToHook{EveryPar} + {\global\advance\c@lstnumber\lst@advancelstnum + \global\advance\c@lstnumber\m@ne \refstepcounter{lstnumber}% + \lst@SkipOrPrintLabel}% +\global\let\lst@advancelstnum\@ne +\lst@AddToHook{Init}{\def\@currentlabel{\thelstnumber}} +\lst@AddToHook{InitVars} + {\global\c@lstnumber\lst@firstnumber + \global\advance\c@lstnumber\lst@advancenumber + \global\advance\c@lstnumber-\lst@advancelstnum + \ifx \lst@firstnumber\c@lstnumber + \global\advance\c@lstnumber-\lst@advancelstnum + \fi} +\lst@AddToHook{ExitVars} + {\global\advance\c@lstnumber\lst@advancelstnum} +\AtBeginDocument{% + \def\theHlstnumber{\ifx\lst@@caption\@empty \lst@neglisting + \else \thelstlisting \fi + .\thelstnumber}} +\newcount\lst@skipnumbers % \global +\lst@AddToHook{Init} + {\ifnum \z@>\lst@stepnumber + \let\lst@advancelstnum\m@ne + \edef\lst@stepnumber{-\lst@stepnumber}% + \fi + \ifnum \z@<\lst@stepnumber + \global\lst@skipnumbers\lst@firstnumber + \global\divide\lst@skipnumbers\lst@stepnumber + \global\multiply\lst@skipnumbers-\lst@stepnumber + \global\advance\lst@skipnumbers\lst@firstnumber + \ifnum\lst@skipnumbers>\z@ + \global\advance\lst@skipnumbers -\lst@stepnumber + \fi + \else + \let\lst@SkipOrPrintLabel\relax + \fi} +\gdef\lst@SkipOrPrintLabel{% + \ifnum\lst@skipnumbers=\z@ + \global\advance\lst@skipnumbers-\lst@stepnumber\relax + \lst@PlaceNumber + \lst@numberfirstlinefalse + \else + \lst@ifnumberfirstline + \lst@PlaceNumber + \lst@numberfirstlinefalse + \fi + \fi + \global\advance\lst@skipnumbers\@ne}% +\lst@AddToHook{OnEmptyLine}{% + \lst@ifnumberblanklines\else \ifnum\lst@skipnumbers=\z@ + \global\advance\lst@skipnumbers-\lst@stepnumber\relax + \fi\fi} +\lst@EndAspect +\lst@BeginAspect{lineshape} +\lst@Key{xleftmargin}{\z@}{\def\lst@xleftmargin{#1}} +\lst@Key{xrightmargin}{\z@}{\def\lst@xrightmargin{#1}} +\lst@Key{resetmargins}{false}[t]{\lstKV@SetIf{#1}\lst@ifresetmargins} +\lst@AddToHook{BoxUnsafe}{\let\lst@xleftmargin\z@ + \let\lst@xrightmargin\z@} +\lst@AddToHook{TextStyle}{% + \let\lst@xleftmargin\z@ \let\lst@xrightmargin\z@ + \let\lst@ifresetmargins\iftrue} +\lst@Key{linewidth}\linewidth{\def\lst@linewidth{#1}} +\lst@AddToHook{PreInit}{\linewidth\lst@linewidth\relax} +\gdef\lst@parshape{% + \parshape\@ne \@totalleftmargin \linewidth} +\lst@AddToHook{Init} + {\lst@ifresetmargins + \advance\linewidth\@totalleftmargin + \advance\linewidth\rightmargin + \@totalleftmargin\z@ + \fi + \advance\linewidth-\lst@xleftmargin + \advance\linewidth-\lst@xrightmargin + \advance\@totalleftmargin\lst@xleftmargin\relax} +\lst@Key{lineskip}{\z@}{\def\lst@lineskip{#1\relax}} +\lst@AddToHook{Init} + {\parskip\z@ + \ifdim\z@=\lst@lineskip\else + \@tempdima\baselineskip + \advance\@tempdima\lst@lineskip + \multiply\@tempdima\@cclvi + \divide\@tempdima\baselineskip\relax + \multiply\@tempdima\@cclvi + \edef\baselinestretch{\strip@pt\@tempdima}% + \selectfont + \fi} +\lst@Key{breaklines}{false}[t]{\lstKV@SetIf{#1}\lst@ifbreaklines} +\lst@Key{breakindent}{20pt}{\def\lst@breakindent{#1}} +\lst@Key{breakautoindent}{t}[t]{\lstKV@SetIf{#1}\lst@ifbreakautoindent} +\lst@Key{breakatwhitespace}{false}[t]% + {\lstKV@SetIf{#1}\lst@ifbreakatwhitespace} +\lst@Key{prebreak}{}{\def\lst@prebreak{#1}} +\lst@Key{postbreak}{}{\def\lst@postbreak{#1}} +\lst@AddToHook{Init} + {\lst@ifbreaklines + \hbadness\@M \pretolerance\@M + \@rightskip\@flushglue \rightskip\@rightskip % \raggedright + \leftskip\z@skip \parindent\z@ + \def\lst@parshape{\parshape\tw@ \@totalleftmargin\linewidth + \lst@breakshape}% + \else + \let\lst@discretionary\@empty + \fi} +\lst@AddToHook{OnNewLine} + {\lst@ifbreaklines \lst@breakNewLine \fi} +\gdef\lst@discretionary{% + \lst@ifbreakatwhitespace + \lst@ifwhitespace \lst@@discretionary \fi + \else + \lst@@discretionary + \fi}% +\gdef\lst@@discretionary{% + \discretionary{\let\space\lst@spacekern\lst@prebreak}% + {\llap{\lsthk@EveryLine + \kern\lst@breakcurrindent \kern-\@totalleftmargin}% + \let\space\lst@spacekern\lst@postbreak}{}} +\lst@AddToHook{PostOutput}{\lst@discretionary} +\gdef\lst@spacekern{\kern\lst@width} +\gdef\lst@breakNewLine{% + \@tempdima\lst@breakindent\relax + \lst@ifbreakautoindent \advance\@tempdima\lst@lostspace \fi + \@tempdimc-\@tempdima \advance\@tempdimc\linewidth + \advance\@tempdima\@totalleftmargin + \xdef\lst@breakshape{\noexpand\lst@breakcurrindent \the\@tempdimc}% + \xdef\lst@breakcurrindent{\the\@tempdima}} +\global\let\lst@breakcurrindent\z@ % init +\gdef\lst@breakshape{\@totalleftmargin \linewidth} +\gdef\lst@breakProcessOther#1{\lst@ProcessOther#1\lst@OutputOther} +\lst@AddToHook{SelectCharTable} + {\lst@ifbreaklines \lst@Def{`)}{\lst@breakProcessOther)}\fi} +\lst@EndAspect +\lst@BeginAspect[lineshape]{frames} +\lst@Key{framexleftmargin}{\z@}{\def\lst@framexleftmargin{#1}} +\lst@Key{framexrightmargin}{\z@}{\def\lst@framexrightmargin{#1}} +\lst@Key{framextopmargin}{\z@}{\def\lst@framextopmargin{#1}} +\lst@Key{framexbottommargin}{\z@}{\def\lst@framexbottommargin{#1}} +\lst@Key{backgroundcolor}{}{\def\lst@bkgcolor{#1}} +\lst@Key{fillcolor}{}{\def\lst@fillcolor{#1}} +\lst@Key{rulecolor}{}{\def\lst@rulecolor{#1}} +\lst@Key{rulesepcolor}{}{\def\lst@rulesepcolor{#1}} +\lst@AddToHook{Init}{% + \ifx\lst@fillcolor\@empty + \let\lst@fillcolor\lst@bkgcolor + \fi + \ifx\lst@rulesepcolor\@empty + \let\lst@rulesepcolor\lst@fillcolor + \fi} +\lst@Key{rulesep}{2pt}{\def\lst@rulesep{#1}} +\lst@Key{framerule}{.4pt}{\def\lst@framerulewidth{#1}} +\lst@Key{framesep}{3pt}{\def\lst@frametextsep{#1}} +\lst@Key{frameshape}{}{% + \let\lst@xrulecolor\@empty + \lstKV@FourArg{#1}% + {\uppercase{\def\lst@frametshape{##1}}% + \uppercase{\def\lst@framelshape{##2}}% + \uppercase{\def\lst@framershape{##3}}% + \uppercase{\def\lst@framebshape{##4}}% + \let\lst@ifframeround\iffalse + \lst@IfSubstring R\lst@frametshape{\let\lst@ifframeround\iftrue}{}% + \lst@IfSubstring R\lst@framebshape{\let\lst@ifframeround\iftrue}{}% + \def\lst@frame{##1##2##3##4}}} +\lst@Key{frameround}\relax + {\uppercase{\def\lst@frameround{#1}}% + \expandafter\lstframe@\lst@frameround ffff\relax} +\global\let\lst@frameround\@empty +\lst@Key{frame}\relax{% + \let\lst@xrulecolor\@empty + \lstKV@SwitchCases{#1}% + {none&\let\lst@frame\@empty\\% + leftline&\def\lst@frame{l}\\% + topline&\def\lst@frame{t}\\% + bottomline&\def\lst@frame{b}\\% + lines&\def\lst@frame{tb}\\% + single&\def\lst@frame{trbl}\\% + shadowbox&\def\lst@frame{tRBl}% + \def\lst@xrulecolor{\lst@rulesepcolor}% + \def\lst@rulesep{\lst@frametextsep}% + }{\def\lst@frame{#1}}% + \expandafter\lstframe@\lst@frameround ffff\relax} +\gdef\lstframe@#1#2#3#4#5\relax{% + \lst@IfSubstring T\lst@frame{\edef\lst@frame{t\lst@frame}}{}% + \lst@IfSubstring R\lst@frame{\edef\lst@frame{r\lst@frame}}{}% + \lst@IfSubstring B\lst@frame{\edef\lst@frame{b\lst@frame}}{}% + \lst@IfSubstring L\lst@frame{\edef\lst@frame{l\lst@frame}}{}% + \let\lst@frametshape\@empty \let\lst@framebshape\@empty + \lst@frameCheck + ltr\lst@framelshape\lst@frametshape\lst@framershape #4#1% + \lst@frameCheck + LTR\lst@framelshape\lst@frametshape\lst@framershape #4#1% + \lst@frameCheck + lbr\lst@framelshape\lst@framebshape\lst@framershape #3#2% + \lst@frameCheck + LBR\lst@framelshape\lst@framebshape\lst@framershape #3#2% + \let\lst@ifframeround\iffalse + \lst@IfSubstring R\lst@frametshape{\let\lst@ifframeround\iftrue}{}% + \lst@IfSubstring R\lst@framebshape{\let\lst@ifframeround\iftrue}{}% + \let\lst@framelshape\@empty \let\lst@framershape\@empty + \lst@IfSubstring L\lst@frame + {\def\lst@framelshape{YY}}% + {\lst@IfSubstring l\lst@frame{\def\lst@framelshape{Y}}{}}% + \lst@IfSubstring R\lst@frame + {\def\lst@framershape{YY}}% + {\lst@IfSubstring r\lst@frame{\def\lst@framershape{Y}}{}}} +\gdef\lst@frameCheck#1#2#3#4#5#6#7#8{% + \lst@IfSubstring #1\lst@frame + {\if #7T\def#4{R}\else \def#4{Y}\fi}% + {\def#4{N}}% + \lst@IfSubstring #3\lst@frame + {\if #8T\def#6{R}\else \def#6{Y}\fi}% + {\def#6{N}}% + \lst@IfSubstring #2\lst@frame{\edef#5{#5#4Y#6}}{}} +\lst@AddToHook{TextStyle} + {\let\lst@frame\@empty + \let\lst@frametshape\@empty + \let\lst@framershape\@empty + \let\lst@framebshape\@empty + \let\lst@framelshape\@empty} +\gdef\lst@frameMakeBoxV#1#2#3{% + \setbox#1\hbox{% + \color@begingroup \lst@rulecolor + \llap{\setbox\z@\hbox{\vrule\@width\z@\@height#2\@depth#3% + \lst@frameL}% + \rlap{\lst@frameBlock\lst@rulesepcolor{\wd\z@}% + {\ht\z@}{\dp\z@}}% + \box\z@ + \ifx\lst@framelshape\@empty + \kern\lst@frametextsep\relax + \else + \lst@frameBlock\lst@fillcolor\lst@frametextsep{#2}{#3}% + \fi + \kern\lst@framexleftmargin}% + \rlap{\kern-\lst@framexleftmargin + \@tempdima\linewidth + \advance\@tempdima\lst@framexleftmargin + \advance\@tempdima\lst@framexrightmargin + \lst@frameBlock\lst@bkgcolor\@tempdima{#2}{#3}% + \ifx\lst@framershape\@empty + \kern\lst@frametextsep\relax + \else + \lst@frameBlock\lst@fillcolor\lst@frametextsep{#2}{#3}% + \fi + \setbox\z@\hbox{\vrule\@width\z@\@height#2\@depth#3% + \lst@frameR}% + \rlap{\lst@frameBlock\lst@rulesepcolor{\wd\z@}% + {\ht\z@}{\dp\z@}}% + \box\z@}% + \color@endgroup}} +\gdef\lst@frameBlock#1#2#3#4{% + \color@begingroup + #1% + \setbox\z@\hbox{\vrule\@height#3\@depth#4% + \ifx#1\@empty \@width\z@ \kern#2\relax + \else \@width#2\relax \fi}% + \box\z@ + \color@endgroup} +\gdef\lst@frameR{% + \expandafter\lst@frameR@\lst@framershape\relax + \kern-\lst@rulesep} +\gdef\lst@frameR@#1{% + \ifx\relax#1\@empty\else + \if #1Y\lst@framevrule \else \kern\lst@framerulewidth \fi + \kern\lst@rulesep + \expandafter\lst@frameR@b + \fi} +\gdef\lst@frameR@b#1{% + \ifx\relax#1\@empty + \else + \if #1Y\color@begingroup + \lst@xrulecolor + \lst@framevrule + \color@endgroup + \else + \kern\lst@framerulewidth + \fi + \kern\lst@rulesep + \expandafter\lst@frameR@ + \fi} +\gdef\lst@frameL{% + \kern-\lst@rulesep + \expandafter\lst@frameL@\lst@framelshape\relax} +\gdef\lst@frameL@#1{% + \ifx\relax#1\@empty\else + \kern\lst@rulesep + \if#1Y\lst@framevrule \else \kern\lst@framerulewidth \fi + \expandafter\lst@frameL@ + \fi} +\gdef\lst@frameH#1#2{% + \global\let\lst@framediml\z@ \global\let\lst@framedimr\z@ + \setbox\z@\hbox{}\@tempcntb\z@ + \expandafter\lst@frameH@\expandafter#1#2\relax\relax\relax + \@tempdimb\lst@frametextsep\relax + \advance\@tempdimb\lst@framerulewidth\relax + \@tempdimc-\@tempdimb + \advance\@tempdimc\ht\z@ + \advance\@tempdimc\dp\z@ + \setbox\z@=\hbox{% + \lst@frameHBkg\lst@fillcolor\@tempdimb\@firstoftwo + \if#1T\rlap{\raise\dp\@tempboxa\box\@tempboxa}% + \else\rlap{\lower\ht\@tempboxa\box\@tempboxa}\fi + \lst@frameHBkg\lst@rulesepcolor\@tempdimc\@secondoftwo + \advance\@tempdimb\ht\@tempboxa + \if#1T\rlap{\raise\lst@frametextsep\box\@tempboxa}% + \else\rlap{\lower\@tempdimb\box\@tempboxa}\fi + \rlap{\box\z@}% + }} +\gdef\lst@frameH@#1#2#3#4{% + \ifx\relax#4\@empty\else + \lst@frameh \@tempcntb#1#2#3#4% + \advance\@tempcntb\@ne + \expandafter\lst@frameH@\expandafter#1% + \fi} +\gdef\lst@frameHBkg#1#2#3{% + \setbox\@tempboxa\hbox{% + \kern-\lst@framexleftmargin + #3{\kern-\lst@framediml\relax}{\@tempdima\z@}% + \ifdim\lst@framediml>\@tempdimb + #3{\@tempdima\lst@framediml \advance\@tempdima-\@tempdimb + \lst@frameBlock\lst@rulesepcolor\@tempdima\@tempdimb\z@}% + {\kern-\lst@framediml + \advance\@tempdima\lst@framediml\relax}% + \fi + #3{\@tempdima\z@ + \ifx\lst@framelshape\@empty\else + \advance\@tempdima\@tempdimb + \fi + \ifx\lst@framershape\@empty\else + \advance\@tempdima\@tempdimb + \fi}% + {\ifdim\lst@framedimr>\@tempdimb + \advance\@tempdima\lst@framedimr\relax + \fi}% + \advance\@tempdima\linewidth + \advance\@tempdima\lst@framexleftmargin + \advance\@tempdima\lst@framexrightmargin + \lst@frameBlock#1\@tempdima#2\z@ + #3{\ifdim\lst@framedimr>\@tempdimb + \@tempdima-\@tempdimb + \advance\@tempdima\lst@framedimr\relax + \lst@frameBlock\lst@rulesepcolor\@tempdima\@tempdimb\z@ + \fi}{}% + }} +\gdef\lst@frameh#1#2#3#4#5{% + \lst@frameCalcDimA#1% + \lst@ifframeround \@getcirc\@tempdima \fi + \setbox\z@\hbox{% + \begingroup + \setbox\z@\hbox{% + \kern-\lst@framexleftmargin + \color@begingroup + \ifnum#1=\z@ \lst@rulecolor \else \lst@xrulecolor \fi + \lst@frameCornerX\llap{#2L}#3#1% + \ifdim\lst@framediml<\@tempdimb + \xdef\lst@framediml{\the\@tempdimb}% + \fi + \begingroup + \if#4Y\else \let\lst@framerulewidth\z@ \fi + \@tempdima\lst@framexleftmargin + \advance\@tempdima\lst@framexrightmargin + \advance\@tempdima\linewidth + \vrule\@width\@tempdima\@height\lst@framerulewidth \@depth\z@ + \endgroup + \lst@frameCornerX\rlap{#2R}#5#1% + \ifdim\lst@framedimr<\@tempdimb + \xdef\lst@framedimr{\the\@tempdimb}% + \fi + \color@endgroup}% + \if#2T\rlap{\raise\dp\z@\box\z@}% + \else\rlap{\lower\ht\z@\box\z@}\fi + \endgroup + \box\z@}} +\gdef\lst@frameCornerX#1#2#3#4{% + \setbox\@tempboxa\hbox{\csname\@lst @frame\if#3RR\fi #2\endcsname}% + \@tempdimb\wd\@tempboxa + \if #3R% + #1{\box\@tempboxa}% + \else + \if #3Y\expandafter#1\else + \@tempdimb\z@ \expandafter\vphantom \fi + {\box\@tempboxa}% + \fi} +\gdef\lst@frameCalcDimA#1{% + \@tempdima\lst@rulesep + \advance\@tempdima\lst@framerulewidth + \multiply\@tempdima#1\relax + \advance\@tempdima\lst@frametextsep + \advance\@tempdima\lst@framerulewidth + \multiply\@tempdima\tw@} +\lst@AddToHook{Init}{\lst@frameInit} +\newbox\lst@framebox +\gdef\lst@frameInit{% + \ifx\lst@framelshape\@empty \let\lst@frameL\@empty \fi + \ifx\lst@framershape\@empty \let\lst@frameR\@empty \fi + \def\lst@framevrule{\vrule\@width\lst@framerulewidth\relax}% + \lst@ifframeround + \lst@frameCalcDimA\z@ \@getcirc\@tempdima + \@tempdimb\@tempdima \divide\@tempdimb\tw@ + \advance\@tempdimb -\@wholewidth + \edef\lst@frametextsep{\the\@tempdimb}% + \edef\lst@framerulewidth{\the\@wholewidth}% + \lst@frameCalcDimA\@ne \@getcirc\@tempdima + \@tempdimb\@tempdima \divide\@tempdimb\tw@ + \advance\@tempdimb -\tw@\@wholewidth + \advance\@tempdimb -\lst@frametextsep + \edef\lst@rulesep{\the\@tempdimb}% + \fi + \lst@frameMakeBoxV\lst@framebox{\ht\strutbox}{\dp\strutbox}% + \def\lst@framelr{\copy\lst@framebox}% + \ifx\lst@frametshape\@empty\else + \lst@frameH T\lst@frametshape + \ifvoid\z@\else + \par\lst@parshape + \@tempdima-\baselineskip \advance\@tempdima\ht\z@ + \ifdim\prevdepth<\@cclvi\p@\else + \advance\@tempdima\prevdepth + \fi + \ifdim\@tempdima<\z@ + \vskip\@tempdima\vskip\lineskip + \fi + \noindent\box\z@\par + \lineskiplimit\maxdimen \lineskip\z@ + \fi + \lst@frameSpreadV\lst@framextopmargin + \fi} +\lst@AddToHook{EveryLine}{\lst@framelr} +\global\let\lst@framelr\@empty +\lst@AddToHook{DeInit} + {\ifx\lst@framebshape\@empty\else \lst@frameExit \fi} +\gdef\lst@frameExit{% + \lst@frameSpreadV\lst@framexbottommargin + \lst@frameH B\lst@framebshape + \ifvoid\z@\else + \everypar{}\par\lst@parshape\nointerlineskip\noindent\box\z@ + \fi} +\gdef\lst@frameSpreadV#1{% + \ifdim\z@=#1\else + \everypar{}\par\lst@parshape\nointerlineskip\noindent + \lst@frameMakeBoxV\z@{#1}{\z@}% + \box\z@ + \fi} +\gdef\lst@frameTR{% + \vrule\@width.5\@tempdima\@height\lst@framerulewidth\@depth\z@ + \kern-\lst@framerulewidth + \raise\lst@framerulewidth\hbox{% + \vrule\@width\lst@framerulewidth\@height\z@\@depth.5\@tempdima}} +\gdef\lst@frameBR{% + \vrule\@width.5\@tempdima\@height\lst@framerulewidth\@depth\z@ + \kern-\lst@framerulewidth + \vrule\@width\lst@framerulewidth\@height.5\@tempdima\@depth\z@} +\gdef\lst@frameBL{% + \vrule\@width\lst@framerulewidth\@height.5\@tempdima\@depth\z@ + \kern-\lst@framerulewidth + \vrule\@width.5\@tempdima\@height\lst@framerulewidth\@depth\z@} +\gdef\lst@frameTL{% + \raise\lst@framerulewidth\hbox{% + \vrule\@width\lst@framerulewidth\@height\z@\@depth.5\@tempdima}% + \kern-\lst@framerulewidth + \vrule\@width.5\@tempdima\@height\lst@framerulewidth\@depth\z@} +\gdef\lst@frameRoundT{% + \setbox\@tempboxa\hbox{\@circlefnt\char\@tempcnta}% + \ht\@tempboxa\lst@framerulewidth + \box\@tempboxa} +\gdef\lst@frameRoundB{% + \setbox\@tempboxa\hbox{\@circlefnt\char\@tempcnta}% + \dp\@tempboxa\z@ + \box\@tempboxa} +\gdef\lst@frameRTR{% + \hb@xt@.5\@tempdima{\kern-\lst@framerulewidth + \kern.5\@tempdima \lst@frameRoundT \hss}} +\gdef\lst@frameRBR{% + \hb@xt@.5\@tempdima{\kern-\lst@framerulewidth + \advance\@tempcnta\@ne \kern.5\@tempdima \lst@frameRoundB \hss}} +\gdef\lst@frameRBL{% + \advance\@tempcnta\tw@ \lst@frameRoundB + \kern-.5\@tempdima} +\gdef\lst@frameRTL{% + \advance\@tempcnta\thr@@\lst@frameRoundT + \kern-.5\@tempdima} +\lst@EndAspect +\lst@BeginAspect[keywords]{make} +\lst@NewMode\lst@makemode +\lst@AddToHook{Output}{% + \ifnum\lst@mode=\lst@makemode + \ifx\lst@thestyle\lst@gkeywords@sty + \lst@makekeytrue + \fi + \fi} +\gdef\lst@makekeytrue{\let\lst@ifmakekey\iftrue} +\gdef\lst@makekeyfalse{\let\lst@ifmakekey\iffalse} +\global\lst@makekeyfalse % init +\lst@Key{makemacrouse}f[t]{\lstKV@SetIf{#1}\lst@ifmakemacrouse} +\gdef\lst@MakeSCT{% + \lst@ifmakemacrouse + \lst@ReplaceInput{$(}{% + \lst@PrintToken + \lst@EnterMode\lst@makemode{\lst@makekeyfalse}% + \lst@Merge{\lst@ProcessOther\$\lst@ProcessOther(}}% + \lst@ReplaceInput{)}{% + \ifnum\lst@mode=\lst@makemode + \lst@PrintToken + \begingroup + \lst@ProcessOther)% + \lst@ifmakekey + \let\lst@currstyle\lst@gkeywords@sty + \fi + \lst@OutputOther + \endgroup + \lst@LeaveMode + \else + \expandafter\lst@ProcessOther\expandafter)% + \fi}% + \else + \lst@ReplaceInput{$(}{\lst@ProcessOther\$\lst@ProcessOther(}% + \fi} +\lst@EndAspect +\lst@BeginAspect{0.21} +\lst@Key{labelstyle}{}{\def\lst@numberstyle{#1}} +\lst@Key{labelsep}{10pt}{\def\lst@numbersep{#1}} +\lst@Key{labelstep}{0}{% + \ifnum #1=\z@ \KV@lst@numbers{none}% + \else \KV@lst@numbers{left}\fi + \def\lst@stepnumber{#1\relax}} +\lst@Key{firstlabel}\relax{\def\lst@firstnumber{#1\relax}} +\lst@Key{advancelabel}\relax{\def\lst@advancenumber{#1\relax}} +\let\c@lstlabel\c@lstnumber +\lst@AddToHook{Init}{\def\thelstnumber{\thelstlabel}} +\newcommand*\thelstlabel{\@arabic\c@lstlabel} +\lst@Key{first}\relax{\def\lst@firstline{#1\relax}} +\lst@Key{last}\relax{\def\lst@lastline{#1\relax}} +\lst@Key{framerulewidth}{.4pt}{\def\lst@framerulewidth{#1}} +\lst@Key{framerulesep}{2pt}{\def\lst@rulesep{#1}} +\lst@Key{frametextsep}{3pt}{\def\lst@frametextsep{#1}} +\lst@Key{framerulecolor}{}{\lstKV@OptArg[]{#1}% + {\ifx\@empty##2\@empty + \let\lst@rulecolor\@empty + \else + \ifx\@empty##1\@empty + \def\lst@rulecolor{\color{##2}}% + \else + \def\lst@rulecolor{\color[##1]{##2}}% + \fi + \fi}} +\lst@Key{backgroundcolor}{}{\lstKV@OptArg[]{#1}% + {\ifx\@empty##2\@empty + \let\lst@bkgcolor\@empty + \else + \ifx\@empty##1\@empty + \def\lst@bkgcolor{\color{##2}}% + \else + \def\lst@bkgcolor{\color[##1]{##2}}% + \fi + \fi}} +\lst@Key{framespread}{\z@}{\def\lst@framespread{#1}} +\lst@AddToHook{PreInit} + {\@tempdima\lst@framespread\relax \divide\@tempdima\tw@ + \edef\lst@framextopmargin{\the\@tempdima}% + \let\lst@framexrightmargin\lst@framextopmargin + \let\lst@framexbottommargin\lst@framextopmargin + \advance\@tempdima\lst@xleftmargin\relax + \edef\lst@framexleftmargin{\the\@tempdima}} +\newdimen\lst@innerspread \newdimen\lst@outerspread +\lst@Key{spread}{\z@,\z@}{\lstKV@CSTwoArg{#1}% + {\lst@innerspread##1\relax + \ifx\@empty##2\@empty + \divide\lst@innerspread\tw@\relax + \lst@outerspread\lst@innerspread + \else + \lst@outerspread##2\relax + \fi}} +\lst@AddToHook{BoxUnsafe}{\lst@outerspread\z@ \lst@innerspread\z@} +\lst@Key{wholeline}{false}[t]{\lstKV@SetIf{#1}\lst@ifresetmargins} +\lst@Key{indent}{\z@}{\def\lst@xleftmargin{#1}} +\lst@AddToHook{PreInit} + {\lst@innerspread=-\lst@innerspread + \lst@outerspread=-\lst@outerspread + \ifodd\c@page \advance\lst@innerspread\lst@xleftmargin + \else \advance\lst@outerspread\lst@xleftmargin \fi + \ifodd\c@page + \edef\lst@xleftmargin{\the\lst@innerspread}% + \edef\lst@xrightmargin{\the\lst@outerspread}% + \else + \edef\lst@xleftmargin{\the\lst@outerspread}% + \edef\lst@xrightmargin{\the\lst@innerspread}% + \fi} +\lst@Key{defaultclass}\relax{\def\lst@classoffset{#1}} +\lst@Key{stringtest}\relax{}% dummy +\lst@Key{outputpos}\relax{\lst@outputpos#1\relax\relax} +\lst@Key{stringspaces}\relax[t]{\lstKV@SetIf{#1}\lst@ifshowstringspaces} +\lst@Key{visisblespaces}\relax[t]{\lstKV@SetIf{#1}\lst@ifshowspaces} +\lst@Key{visibletabs}\relax[t]{\lstKV@SetIf{#1}\lst@ifshowtabs} +\lst@EndAspect +\lst@BeginAspect{fancyvrb} +\@ifundefined{FancyVerbFormatLine} + {\typeout{^^J% + ***^^J% + *** `listings.sty' needs `fancyvrb.sty' right now.^^J% + *** Please ensure its availability and try again.^^J% + ***^^J}% + \batchmode \@@end}{} +\gdef\lstFV@fancyvrb{% + \lst@iffancyvrb + \ifx\FancyVerbFormatLine\lstFV@FancyVerbFormatLine\else + \let\lstFV@FVFL\FancyVerbFormatLine + \let\FancyVerbFormatLine\lstFV@FancyVerbFormatLine + \fi + \else + \ifx\lstFV@FVFL\@undefined\else + \let\FancyVerbFormatLine\lstFV@FVFL + \let\lstFV@FVFL\@undefined + \fi + \fi} +\gdef\lstFV@VerbatimBegin{% + \ifx\FancyVerbFormatLine\lstFV@FancyVerbFormatLine + \lsthk@TextStyle \lsthk@BoxUnsafe + \lsthk@PreSet + \lst@activecharsfalse + \let\normalbaselines\relax +\xdef\lstFV@RestoreData{\noexpand\linewidth\the\linewidth\relax}% + \lst@Init\relax + \lst@ifresetmargins \advance\linewidth-\@totalleftmargin \fi +\lstFV@RestoreData + \everypar{}\global\lst@newlines\z@ + \lst@mode\lst@nomode \let\lst@entermodes\@empty + \lst@InterruptModes +%% D.G. modification begin - Nov. 25, 1998 + \let\@noligs\relax +%% D.G. modification end + \fi} +\gdef\lstFV@VerbatimEnd{% + \ifx\FancyVerbFormatLine\lstFV@FancyVerbFormatLine + \global\setbox\lstFV@gtempboxa\box\@tempboxa + \global\let\@gtempa\FV@ProcessLine + \lst@mode\lst@Pmode + \lst@DeInit + \let\FV@ProcessLine\@gtempa + \setbox\@tempboxa\box\lstFV@gtempboxa + \par + \fi} +\newbox\lstFV@gtempboxa +\lst@AddTo\FV@VerbatimBegin\lstFV@VerbatimBegin +\lst@AddToAtTop\FV@VerbatimEnd\lstFV@VerbatimEnd +\lst@AddTo\FV@LVerbatimBegin\lstFV@VerbatimBegin +\lst@AddToAtTop\FV@LVerbatimEnd\lstFV@VerbatimEnd +\lst@AddTo\FV@BVerbatimBegin\lstFV@VerbatimBegin +\lst@AddToAtTop\FV@BVerbatimEnd\lstFV@VerbatimEnd +\gdef\lstFV@FancyVerbFormatLine#1{% + \let\lst@arg\@empty \lst@FVConvert#1\@nil + \global\lst@newlines\z@ + \vtop{\noindent\lst@parshape + \lst@ReenterModes + \lst@arg \lst@PrintToken\lst@EOLUpdate\lsthk@InitVarsBOL + \lst@InterruptModes}} +\lst@Key{fvcmdparams}% + {\overlay\@ne}% + {\def\lst@FVcmdparams{,#1}} +\lst@Key{morefvcmdparams}\relax{\lst@lAddTo\lst@FVcmdparams{,#1}} +\gdef\lst@FVConvert{\@tempcnta\z@ \lst@FVConvertO@}% +\gdef\lst@FVConvertO@{% + \ifcase\@tempcnta + \expandafter\futurelet\expandafter\@let@token + \expandafter\lst@FVConvert@@ + \else + \expandafter\lst@FVConvertO@a + \fi} +\gdef\lst@FVConvertO@a#1{% + \lst@lAddTo\lst@arg{{#1}}\advance\@tempcnta\m@ne + \lst@FVConvertO@}% +\gdef\lst@FVConvert@@{% + \ifcat\noexpand\@let@token\bgroup \expandafter\lst@FVConvertArg + \else \expandafter\lst@FVConvert@ \fi} +\gdef\lst@FVConvertArg#1{% + {\let\lst@arg\@empty + \lst@FVConvert#1\@nil + \global\let\@gtempa\lst@arg}% + \lst@lExtend\lst@arg{\expandafter{\@gtempa\lst@PrintToken}}% + \lst@FVConvert} +\gdef\lst@FVConvert@#1{% + \ifx \@nil#1\else + \if\relax\noexpand#1% + \lst@lAddTo\lst@arg{\lst@OutputLostSpace\lst@PrintToken#1}% + \else + \lccode`\~=`#1\lowercase{\lst@lAddTo\lst@arg~}% + \fi + \expandafter\lst@FVConvert + \fi} +\gdef\lst@FVConvert@#1{% + \ifx \@nil#1\else + \if\relax\noexpand#1% + \lst@lAddTo\lst@arg{\lst@OutputLostSpace\lst@PrintToken#1}% + \def\lst@temp##1,#1##2,##3##4\relax{% + \ifx##3\@empty \else \@tempcnta##2\relax \fi}% + \expandafter\lst@temp\lst@FVcmdparams,#1\z@,\@empty\relax + \else + \lccode`\~=`#1\lowercase{\lst@lAddTo\lst@arg~}% + \fi + \expandafter\lst@FVConvertO@ + \fi} +\lst@EndAspect +\lst@BeginAspect[keywords,comments,strings,language]{lgrind} +\gdef\lst@LGGetNames#1:#2\relax{% + \lst@NormedDef\lstlang@{#1}\lst@ReplaceInArg\lstlang@{|,}% + \def\lst@arg{:#2}} +\gdef\lst@LGGetValue#1{% + \lst@false + \def\lst@temp##1:#1##2##3\relax{% + \ifx\@empty##2\else \lst@LGGetValue@{#1}\fi} + \expandafter\lst@temp\lst@arg:#1\@empty\relax} +\gdef\lst@LGGetValue@#1{% + \lst@true + \def\lst@temp##1:#1##2:##3\relax{% + \@ifnextchar=\lst@LGGetValue@@{\lst@LGGetValue@@=}##2\relax + \def\lst@arg{##1:##3}}% + \expandafter\lst@temp\lst@arg\relax} +\gdef\lst@LGGetValue@@=#1\relax{\def\lst@LGvalue{#1}} +\gdef\lst@LGGetComment#1#2{% + \let#2\@empty + \lst@LGGetValue{#1b}% + \lst@if + \let#2\lst@LGvalue + \lst@LGGetValue{#1e}% + \ifx\lst@LGvalue\lst@LGEOL + \edef\lstlang@{\lstlang@,commentline={#2}}% + \let#2\@empty + \else + \edef#2{{#2}{\lst@LGvalue}}% + \fi + \fi} +\gdef\lst@LGGetString#1#2{% + \lst@LGGetValue{#1b}% + \lst@if + \let#2\lst@LGvalue + \lst@LGGetValue{#1e}% + \ifx\lst@LGvalue\lst@LGEOL + \edef\lstlang@{\lstlang@,morestringizer=[l]{#2}}% + \else + \ifx #2\lst@LGvalue + \edef\lstlang@{\lstlang@,morestringizer=[d]{#2}}% + \else + \edef\lst@temp{\lst@LGe#2}% + \ifx \lst@temp\lst@LGvalue + \edef\lstlang@{\lstlang@,morestringizer=[b]{#2}}% + \else + \PackageWarning{Listings}% + {String #2...\lst@LGvalue\space not supported}% + \fi + \fi + \fi + \fi} +\gdef\lst@LGDefLang{% + \lst@LGReplace + \let\lstlang@\empty + \lst@LGGetValue{kw}% + \lst@if + \lst@ReplaceInArg\lst@LGvalue{{ },}% + \edef\lstlang@{\lstlang@,keywords={\lst@LGvalue}}% + \fi + \lst@LGGetValue{oc}% + \lst@if + \edef\lstlang@{\lstlang@,sensitive=f}% + \fi + \lst@LGGetValue{id}% + \lst@if + \edef\lstlang@{\lstlang@,alsoletter=\lst@LGvalue}% + \fi + \lst@LGGetComment a\lst@LGa + \lst@LGGetComment c\lst@LGc + \ifx\lst@LGa\@empty + \ifx\lst@LGc\@empty\else + \edef\lstlang@{\lstlang@,singlecomment=\lst@LGc}% + \fi + \else + \ifx\lst@LGc\@empty + \edef\lstlang@{\lstlang@,singlecomment=\lst@LGa}% + \else + \edef\lstlang@{\lstlang@,doublecomment=\lst@LGc\lst@LGa}% + \fi + \fi + \lst@LGGetString s\lst@LGa + \lst@LGGetString l\lst@LGa + \lst@LGGetValue{tc}% + \lst@if + \edef\lstlang@{\lstlang@,lgrindef=\lst@LGvalue}% + \fi + \expandafter\xdef\csname\@lst LGlang@\lst@language@\endcsname + {\noexpand\lstset{\lstlang@}}% + \lst@ReplaceInArg\lst@arg{{: :}:}\let\lst@LGvalue\@empty + \expandafter\lst@LGDroppedCaps\lst@arg\relax\relax + \ifx\lst@LGvalue\@empty\else + \PackageWarningNoLine{Listings}{Ignored capabilities for + \space `\lst@language@' are\MessageBreak\lst@LGvalue}% + \fi} +\gdef\lst@LGDroppedCaps#1:#2#3{% + \ifx#2\relax + \lst@RemoveCommas\lst@LGvalue + \else + \edef\lst@LGvalue{\lst@LGvalue,#2#3}% + \expandafter\lst@LGDroppedCaps + \fi} +\begingroup +\catcode`\/=0 +\lccode`\z=`\:\lccode`\y=`\^\lccode`\x=`\$\lccode`\v=`\| +\catcode`\\=12\relax +/lowercase{% +/gdef/lst@LGReplace{/lst@ReplaceInArg/lst@arg + {{\:}{z }{\^}{y}{\$}{x}{\|}{v}{ \ }{ }{:\ :}{:}{\ }{ }{\(}({\)})}} +/gdef/lst@LGe{\e} +} +/endgroup +\gdef\lst@LGRead#1\par{% + \lst@LGGetNames#1:\relax + \def\lst@temp{endoflanguagedefinitions}% + \ifx\lstlang@\lst@temp + \let\lst@next\endinput + \else + \expandafter\lst@IfOneOf\lst@language@\relax\lstlang@ + {\lst@LGDefLang \let\lst@next\endinput}% + {\let\lst@next\lst@LGRead}% + \fi + \lst@next} +\lst@Key{lgrindef}\relax{% + \lst@NormedDef\lst@language@{#1}% + \begingroup + \@ifundefined{lstLGlang@\lst@language@}% + {\everypar{\lst@LGRead}% + \catcode`\\=12\catcode`\{=12\catcode`\}=12\catcode`\%=12% + \catcode`\#=14\catcode`\$=12\catcode`\^=12\catcode`\_=12\relax + \input{\lstlgrindeffile}% + }{}% + \endgroup + \@ifundefined{lstLGlang@\lst@language@}% + {\PackageError{Listings}% + {LGrind language \lst@language@\space undefined}% + {The language is not loadable. \@ehc}}% + {\lsthk@SetLanguage + \csname\@lst LGlang@\lst@language@\endcsname}} +\@ifundefined{lstlgrindeffile} + {\lst@UserCommand\lstlgrindeffile{lgrindef.}}{} +\lst@EndAspect +\lst@BeginAspect[keywords]{hyper} +\lst@Key{hyperanchor}\hyper@@anchor{\let\lst@hyperanchor#1} +\lst@Key{hyperlink}\hyperlink{\let\lst@hyperlink#1} +\lst@InstallKeywords{h}{hyperref}{}\relax{} + {\begingroup + \let\lst@UM\@empty \xdef\@gtempa{\the\lst@token}% + \endgroup + \lst@GetFreeMacro{lstHR@\@gtempa}% + \global\expandafter\let\lst@freemacro\@empty + \@tempcntb\@tempcnta \advance\@tempcntb\m@ne + \edef\lst@alloverstyle##1{% + \let\noexpand\lst@alloverstyle\noexpand\@empty + \noexpand\smash{\raise\baselineskip\hbox + {\noexpand\lst@hyperanchor{lst.\@gtempa\the\@tempcnta}% + {\relax}}}% + \ifnum\@tempcnta=\z@ ##1\else + \noexpand\lst@hyperlink{lst.\@gtempa\the\@tempcntb}{##1}% + \fi}% + } + od +\lst@EndAspect +\endinput +%% +%% End of file `lstmisc.sty'. diff -r 2c619ec34ae4 -r 7fdca589238f nonDefaultPackage/lstpatch.sty --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nonDefaultPackage/lstpatch.sty Tue Mar 25 23:16:29 2008 +0900 @@ -0,0 +1,393 @@ +%% +%% This is file `lstpatch.sty', generated manually. +%% +%% (w)(c) 2004 Carsten Heinz +%% +%% This file may be 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. +%% +%% Send comments and ideas on the package, error reports and additional +%% programming languages to . +%% +%% 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) Frank Atanassow, 2004/10/07, 1.3b +%% +%% space after mathescape is not preserved +%% (\lst@newlines>0) +%% +%% 2) Benjamin Lings, 2004/10/15, 1.3b (2004/10/17) +%% +%% \usepackage{xy,listings} yields: +%% "Forbidden control sequence found while scanning use of \lst@lExtend" +%% (xy-pic correctly resets catcode of ^^L (to active), which is \outer) +%% +%% +%% The following features are added to the base package. +%% +%% 1.3a (2004/09/07) +%% +%% a) H I G H L Y E X P E R I M E N T A L +%% +%% Use the options +%% rangeprefix= +%% rangesuffix= +%% +%% rangebeginprefix= +%% rangebeginsuffix= +%% +%% rangeendprefix= +%% rangeendsuffix= +%% +%% includerangemarker=true|false +%% together with +%% firstline= +%% lastline= +%% or +%% linerange={-, +%% -, ...} +%% The according markers in the source code are +%% +%% for begin respectively end of range. Moreover, one can use +%% includerangemarker=true|false +%% to show or hide the range markers in the output. +%% +%% 1.3b (2004/10/17) +%% +%% b) multicols= (requires loaded multicol package) +%% +%% +\lst@CheckVersion{1.3} +{\typeout{^^J% + ***^^J% + *** This is a patch for listings 1.3, but you're using^^J% + *** version \lst@version.^^J% + ***^^J + *** Patch file not loaded.^^J% + ***^^J}% + \endinput +} +\def\fileversion{1.3b} +\def\filedate{2004/10/17} +\ProvidesFile{lstpatch.sty}[\filedate\space\fileversion\space (Carsten Heinz)] +% +% 0) Insert % after #1. +\def\@@xbitor #1{\@tempcntb \count#1% + \ifnum \@tempcnta =\z@ + \else + \divide\@tempcntb\@tempcnta + \ifodd\@tempcntb \@testtrue\fi + \fi} +% +% 1) Reset \lst@newlines at end of escape. +\def\lstpatch@escape{% +\gdef\lst@Escape##1##2##3##4{% + \lst@CArgX ##1\relax\lst@CDefX + {}% + {\lst@ifdropinput\else + \lst@TrackNewLines\lst@OutputLostSpace \lst@XPrintToken + \lst@InterruptModes + \lst@EnterMode{\lst@TeXmode}{\lst@modetrue}% + \ifx\^^M##2% + \lst@CArg ##2\relax\lst@ActiveCDefX + {}% + {\lst@escapeend ##4\lst@LeaveAllModes\lst@ReenterModes}% + {\lst@MProcessListing}% + \else + \lst@CArg ##2\relax\lst@ActiveCDefX + {}% + {\lst@escapeend ##4\lst@LeaveAllModes\lst@ReenterModes + \lst@newlines\z@ \lst@whitespacefalse}% + {}% + \fi + ##3\lst@escapebegin + \fi}% + {}}% +} +% +% 2) Deactivate \outer definition of ^^L temporarily (inside and outside +% of \lst@ScanChars) and restore \catcode at end of package. +\begingroup \catcode12=\active\let^^L\@empty +\gdef\lst@ScanChars{% + \let\lsts@ssL^^L% + \def^^L{\par}% + \lst@GetChars\lst@RestoreOrigCatcodes\@ne {128}% + \let^^L\lsts@ssL + \lst@GetChars\lst@RestoreOrigExtendedCatcodes{128}{256}} +\endgroup +\lst@lAddTo\lst@RestoreCatcodes{\catcode12\active} +% +% a) Let's start with the options: +\lst@Key{rangeprefix}\relax{\def\lst@rangebeginprefix{#1}% + \def\lst@rangeendprefix{#1}} +\lst@Key{rangesuffix}\relax{\def\lst@rangebeginsuffix{#1}% + \def\lst@rangeendsuffix{#1}} +\lst@Key{rangebeginprefix}{}{\def\lst@rangebeginprefix{#1}} +\lst@Key{rangebeginsuffix}{}{\def\lst@rangebeginsuffix{#1}} +\lst@Key{rangeendprefix}{}{\def\lst@rangeendprefix{#1}} +\lst@Key{rangeendsuffix}{}{\def\lst@rangeendsuffix{#1}} +\lst@Key{includerangemarker}{true}[t]{\lstKV@SetIf{#1}\lst@ifincluderangemarker} +% +% The key is a redefinition of \lst@GLI@ checking for numbers. +\def\lst@GLI@#1-#2-#3\@nil{% + \lst@IfNumber{#1}% + {\ifx\@empty#1\@empty + \let\lst@firstline\@ne + \else + \def\lst@firstline{#1\relax}% + \fi + \ifx\@empty#3\@empty + \def\lst@lastline{9999999\relax}% + \else + \ifx\@empty#2\@empty + \let\lst@lastline\lst@firstline + \else + \def\lst@lastline{#2\relax}% + \fi + \fi}% +% +% If we've found a general marker, we set firstline and lastline to 9999999. +% This prevents (almost) anything to be printed for now. + {\def\lst@firstline{9999999\relax}% + \let\lst@lastline\lst@firstline +% +% We add the prefixes and suffixes to the markers. + \let\lst@rangebegin\lst@rangebeginprefix + \lst@AddTo\lst@rangebegin{#1}\lst@Extend\lst@rangebegin\lst@rangebeginsuffix + \ifx\@empty#3\@empty + \let\lst@rangeend\lst@rangeendprefix + \lst@AddTo\lst@rangeend{#1}\lst@Extend\lst@rangeend\lst@rangeendsuffix + \else + \ifx\@empty#2\@empty + \let\lst@rangeend\@empty + \else + \let\lst@rangeend\lst@rangeendprefix + \lst@AddTo\lst@rangeend{#2}\lst@Extend\lst@rangeend\lst@rangeendsuffix + \fi + \fi +% The following definition will be executed in the SelectCharTable hook +% and here right now if we are already processing a listing. + \global\def\lst@DefRange{\expandafter\lst@CArgX\lst@rangebegin\relax\lst@DefRangeB}% + \ifnum\lst@mode=\lst@Pmode \expandafter\lst@DefRange \fi}} +% \lst@DefRange is not inserted via a hook anymore. Instead it is now called +% directly from \lst@SelectCharTable. This was necessary to get rid of an +% interference with the escape-to-LaTeX-feature. The bug was reported by +% \lsthelper{Michael~Bachmann}{2004/07/21}{Keine label-Referenzierung +% m\"oglich...}. Another chance is due to the same bug: \lst@DefRange is +% redefined globally when the begin of code is found, see below. The bug was +% reported by \lsthelper{Tobias~Rapp}{2004/04/06}{undetected end of range if +% listing crosses page break} \lsthelper{Markus~Luisser}{2004/08/13}{Bug mit +% 'linerangemarker' in umgebrochenen listings} +%\lst@AddToHook{SelectCharTable}{\lst@DefRange} +\lst@AddToHookExe{DeInit}{\global\let\lst@DefRange\@empty} +% +% Actually defining the marker (via \lst@GLI@, \lst@DefRange, \lst@CArgX as +% seen above) is similar to \lst@DefDelimB---except that we unfold the first +% parameter and use different ,
, and  statements.
+\def\lst@DefRangeB#1#2{\lst@DefRangeB@#1#2}
+\def\lst@DefRangeB@#1#2#3#4{%
+    \lst@CDef{#1{#2}{#3}}#4{}%
+    {\lst@ifincluderangemarker
+         \lst@LeaveMode
+         \let#1#4%
+         \lst@DefRangeEnd
+         \lst@InitLstNumber
+     \else
+         \@tempcnta\lst@lineno \advance\@tempcnta\@ne
+         \edef\lst@firstline{\the\@tempcnta\relax}%
+         \gdef\lst@OnceAtEOL{\let#1#4\lst@DefRangeEnd}%
+         \lst@InitLstNumber
+     \fi
+	 \global\let\lst@DefRange\lst@DefRangeEnd
+     \lst@CArgEmpty}%
+    \@empty}
+%
+% Modify labels and define |\lst@InitLstNumber| used above.
+% \lsthelper{Omair-Inam~Abdul-Matin}{2004/05/10}{experimental linerange
+% feature does not work with firstnumber}
+\def\lstpatch@labels{%
+\gdef\lst@SetFirstNumber{%
+    \ifx\lst@firstnumber\@undefined
+        \@tempcnta 0\csname\@lst no@\lst@intname\endcsname\relax
+        \ifnum\@tempcnta=\z@ \else
+            \lst@nololtrue
+            \advance\@tempcnta\lst@advancenumber
+            \edef\lst@firstnumber{\the\@tempcnta\relax}%
+        \fi
+    \fi}%
+}
+\lst@AddToAtTop\lsthk@PreInit
+    {\ifx\lst@firstnumber\@undefined
+         \def\lst@firstnumber{\lst@lineno}%
+     \fi}
+\def\lst@InitLstNumber{%
+     \global\c@lstnumber\lst@firstnumber
+     \global\advance\c@lstnumber\lst@advancenumber
+     \global\advance\c@lstnumber-\lst@advancelstnum
+     \ifx \lst@firstnumber\c@lstnumber
+         \global\advance\c@lstnumber-\lst@advancelstnum
+     \fi}
+%
+%    The end-marker is defined if and only if it's not empty. The definition is
+%    similar to \lst@DefDelimE---with the above exceptions and except that we
+%    define the re-entry point \lst@DefRangeE@@ as it is defined in the new
+%    version of \lst@MProcessListing above.
+\def\lst@DefRangeEnd{%
+    \ifx\lst@rangeend\@empty\else
+        \expandafter\lst@CArgX\lst@rangeend\relax\lst@DefRangeE
+    \fi}
+\def\lst@DefRangeE#1#2{\lst@DefRangeE@#1#2}
+\def\lst@DefRangeE@#1#2#3#4{%
+    \lst@CDef{#1#2{#3}}#4{}%
+    {\let#1#4%
+     \edef\lst@lastline{\the\lst@lineno\relax}%
+     \lst@DefRangeE@@}%
+    \@empty}
+\def\lst@DefRangeE@@#1\@empty{%
+    \lst@ifincluderangemarker
+        #1\lst@XPrintToken
+    \fi
+    \lst@LeaveModeToPmode
+    \lst@BeginDropInput{\lst@Pmode}}
+%
+\def\lst@LeaveModeToPmode{%
+    \ifnum\lst@mode=\lst@Pmode
+        \expandafter\lsthk@EndGroup
+    \else
+        \expandafter\egroup\expandafter\lst@LeaveModeToPmode
+    \fi}
+%
+%    Eventually we shouldn't forget to install \lst@OnceAtEOL, which must
+%    also be called in \lst@MSkipToFirst.
+\lst@AddToHook{EOL}{\lst@OnceAtEOL\global\let\lst@OnceAtEOL\@empty}
+\gdef\lst@OnceAtEOL{}% Init
+\def\lst@MSkipToFirst{%
+    \global\advance\lst@lineno\@ne
+    \ifnum \lst@lineno=\lst@firstline
+        \def\lst@next{\lst@LeaveMode \global\lst@newlines\z@
+        \lst@OnceAtEOL \global\let\lst@OnceAtEOL\@empty
+        \lst@InitLstNumber % Added to work with modified \lsthk@PreInit.
+        \lsthk@InitVarsBOL
+        \lst@BOLGobble}%
+        \expandafter\lst@next
+    \fi}
+\def\lst@SkipToFirst{%
+    \ifnum \lst@lineno<\lst@firstline
+        \def\lst@next{\lst@BeginDropInput\lst@Pmode
+        \lst@Let{13}\lst@MSkipToFirst
+        \lst@Let{10}\lst@MSkipToFirst}%
+        \expandafter\lst@next
+    \else
+        \expandafter\lst@BOLGobble
+    \fi}
+%
+%    Finally the service macro \lst@IfNumber:
+\def\lst@IfNumber#1{%
+    \ifx\@empty#1\@empty
+        \let\lst@next\@firstoftwo
+    \else
+        \lst@IfNumber@#1\@nil
+    \fi
+    \lst@next}
+\def\lst@IfNumber@#1#2\@nil{%
+    \let\lst@next\@secondoftwo
+    \ifnum`#1>47\relax \ifnum`#1>57\relax\else
+        \let\lst@next\@firstoftwo
+    \fi\fi}
+%
+% b) The following is known to fail with some keys.
+\lst@Key{multicols}{}{\@tempcnta=0#1\relax\def\lst@multicols{#1}}
+\def\lst@Init#1{%
+    \begingroup
+    \ifx\lst@float\relax\else
+        \edef\@tempa{\noexpand\lst@beginfloat{lstlisting}[\lst@float]}%
+        \expandafter\@tempa
+    \fi
+% chmod begin
+    \ifx\lst@multicols\@empty\else
+        \edef\lst@next{\noexpand\multicols{\lst@multicols}}
+        \expandafter\lst@next
+    \fi
+% chmod end
+    \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 \par\noindent
+    \else
+        \lst@ifdisplaystyle
+            \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
+    \lst@ifdisplaystyle
+        \global\let\lst@ltxlabel\@empty
+        \if@inlabel
+            \lst@ifresetmargins
+                \leavevmode
+            \else
+                \xdef\lst@ltxlabel{\the\everypar}%
+                \lst@AddTo\lst@ltxlabel{%
+                    \global\let\lst@ltxlabel\@empty
+                    \everypar{\lsthk@EveryLine\lsthk@EveryPar}}%
+            \fi
+        \fi
+        \everypar\expandafter{\lst@ltxlabel
+                              \lsthk@EveryLine\lsthk@EveryPar}%
+    \else
+        \everypar{}\let\lst@NewLine\@empty
+    \fi
+    \lsthk@InitVars \lsthk@InitVarsBOL
+    \lst@Let{13}\lst@MProcessListing
+    \let\lst@Backslash#1%
+    \lst@EnterMode{\lst@Pmode}{\lst@SelectCharTable}%
+    \lst@InitFinalize}
+\def\lst@DeInit{%
+    \lst@XPrintToken \lst@EOLUpdate
+    \global\advance\lst@newlines\m@ne
+    \lst@ifshowlines
+        \lst@DoNewLines
+    \else
+        \setbox\@tempboxa\vbox{\lst@DoNewLines}%
+    \fi
+    \lst@ifdisplaystyle \par\removelastskip \fi
+    \lsthk@ExitVars\everypar{}\lsthk@DeInit\normalbaselines\normalcolor
+    \lst@MakeCaption b%
+    \lst@ifbox
+        \egroup $\hss \egroup
+        \vrule\@width\lst@maxwidth\@height\z@\@depth\z@
+    \else
+        \lst@ifdisplaystyle
+            \par\penalty-50\vspace\lst@belowskip
+        \fi
+    \fi
+% chmod begin
+    \ifx\lst@multicols\@empty\else
+        \def\lst@next{\global\let\@checkend\@gobble
+                      \endmulticols
+                      \global\let\@checkend\lst@@checkend}
+        \expandafter\lst@next
+    \fi
+% chmod end
+    \ifx\lst@float\relax\else
+        \expandafter\lst@endfloat
+    \fi
+    \endgroup}
+\let\lst@@checkend\@checkend
+%%
+\endinput
+%%
+%% End of file `lstpatch.sty'.