Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
6381 lines (6374 sloc) 291 KB
% \iffalse
%
%<*driver>
\documentclass{ltxdoc}
\EnableCrossrefs
\CodelineIndex
\begin{document}
\DocInput{lstdrvrs.dtx}
\end{document}
%</driver>
% \fi
%
%
% \DoNotIndex{\[,\{,\},\],\1,\2,\3,\4,\5,\6,\7,\8,\9,\0}
% \DoNotIndex{\`,\,,\!,\#,\$,\&,\',\(,\),\+,\.,\:,\;,\<,\=,\>,\?,\_}
% \DoNotIndex{\askforoverwritefalse,\askforoverwritetrue,\batchfile}
% \DoNotIndex{\begin,\def,\else,\@empty,\end,\endpreamble,\expandafter}
% \DoNotIndex{\fi,\file,\from,\gdef,\generate,\ifnum,\ifx,\input}
% \DoNotIndex{\keepsilent,\lccode,\let,\lowercase,\preamble,\relax}
% \DoNotIndex{\undefined}
%
%
% \title{Language, Style and Format drivers\\ for \textsf{Listings 1.3}\\ {\large by Carsten Heinz and individual authors:}}
% \author{\InputIfFileExists{lstdrvrs.tmp}{}{}}
% \date{}
%
% \maketitle
%
% \newwrite\authors \immediate\openout\authors lstdrvrs.tmp\relax
% \gdef\lstthanks#1#2#3{#1\global\let\lstthanks\lstthanksb\lstwrite{#1}}
% \gdef\lstthanksb#1#2#3{#1\lstwrite{\string\and\space#1}}
% \gdef\lstwrite#1{\begingroup\let~\space\def\"{\string\"}\def\'{\string\'}\immediate\write\authors{#1}\endgroup}
%
% \newcommand*\lsthelper[4]{#1}
%
%
% \section{Installation and configuration}
%
% \begingroup
% \begin{macrocode}
%% The listings package is copyright 1996--2004 Carsten Heinz, and
%% continued maintenance on the package is copyright 2006--2007 Brooks Moses.
%% The drivers are copyright 1997/1998/1999/2000/2001/2002/2003/2004/2006/
%% 2007 any individual author listed 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.3 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 Brooks Moses at <bmoses@dpdx.net>.
%%
% \end{macrocode}
% \endgroup
%
% \begingroup
% \begin{macrocode}
%<*install>
\input docstrip
\preamble
\endpreamble
\ifToplevel{
\usedir{tex/latex/listings}
\keepsilent
\askonceonly
}
\generate{
\file{lstlang1.sty}{\from{lstdrvrs.dtx}{lang1}}
\file{lstlang2.sty}{\from{lstdrvrs.dtx}{lang2}}
\file{lstlang3.sty}{\from{lstdrvrs.dtx}{lang3}}
}
\ifToplevel{
\Msg{*}
\Msg{* You probably need to move all created `.sty' and `.cfg'}
\Msg{* files into a directory searched by TeX.}
\Msg{*}
\Msg{* Run `lstdrvrs.dtx' through LaTeX2e to get the documentation.}
\Msg{*}
}
\endbatchfile
%</install>
% \end{macrocode}
% \endgroup
%
% \begingroup
% \begin{macrocode}
%<*config>
% \end{macrocode}
% \endgroup
% We mainly define default dialects.
% \begin{macrocode}
\ProvidesFile{listings.cfg}[2007/02/22 1.4 listings configuration]
\def\lstlanguagefiles
{lstlang0.sty,lstlang1.sty,lstlang2.sty,lstlang3.sty}
\lstset{defaultdialect=[R/3 6.10]ABAP,
defaultdialect=[2005]Ada,
defaultdialect=[68]Algol,
defaultdialect=[gnu]Awk,
defaultdialect=[ANSI]C,
defaultdialect=[light]Caml,
defaultdialect=[1985]Cobol,
defaultdialect=[WinXP]command.com,
defaultdialect=[ISO]C++,
defaultdialect=[95]Fortran,
defaultdialect=[5.2]Mathematica,
defaultdialect=[OMG]OCL,
defaultdialect=[Standard]Pascal,
defaultdialect=[67]Simula,
defaultdialect=[plain]TeX,
defaultdialect=[97]VRML}
\lstalias[]{TclTk}[tk]{tcl}
% \end{macrocode}
% And now some shortcuts for the ABAP versions (provided by Knut Lickert).
% I (Knut) think the leading R/2, R/3 is not necessary (The support for R/2
% is finished). The version number with letter is important for the
% runtime-system, but the programming language should be the same
% for each version.
% \begin{macrocode}
\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}
% \end{macrocode}
% \begingroup
% \begin{macrocode}
%</config>
% \end{macrocode}
% \endgroup
%
% \begin{macrocode}
%<+lang1>\ProvidesFile{lstlang1.sty}
%<+lang2>\ProvidesFile{lstlang2.sty}
%<+lang3>\ProvidesFile{lstlang3.sty}
%<-config> [2004/09/05 1.3 listings language file]
% \end{macrocode}
%
%
% \section{Language drivers}
%
%
% \subsection{Abap}
%
% \lstthanks{Knut Lickert}{knut.lickert@gmx.de}{2000/08/01,2001/12/29,2002/04/11}
% added support for Abap.\footnote{In this section `I' is Knut Lickert.}
%
% \begingroup
% \begin{macrocode}
%<*lang2>
% \end{macrocode}
% \begin{macrocode}
%%
%% Abap definition by Knut Lickert
%%
% \end{macrocode}
%
% There are some other new commands in release 6.10.
% They will follow later, but up to now I don't work
% with 6.10.
%
% \begin{macrocode}
\lst@definelanguage[R/3 6.10]{ABAP}[R/3 4.6C]{ABAP}%
{morekeywords={try,endtry},%
}[keywords,comments,strings]
% \end{macrocode}
% \begin{macrocode}
\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]
% \end{macrocode}
% Yes there are also some more releases in R/3 (2.1\ldots), but I
% know them not really. So let's start with R/3~3.1.
% \begin{macrocode}
\lst@definelanguage[R/3 3.1]{ABAP}[R/2 5.0]{ABAP}{}%
% \end{macrocode}
% As I remember all this commands exists in R/2. Many commands are
% new in R/2~5.0 (compared with R/2 4.3). But as I am not using
% R/2~4.3 any more, I start with R/2~5.0.
% \begin{macrocode}
\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][commentstyle][0]*,%
morestring=[d]'%
}[keywords,comments,strings,procnames]
% \end{macrocode}
% This section for R/2~4.3 is not really maintained. It is just what I remember
% of the past.
% \begin{macrocode}
\lst@definelanguage[R/2 4.3]{ABAP}[R/2 5.0]{ABAP}%
{deletekeywords={function,importing,exporting,changing,exceptions,%
raise,raising}%
}[keywords,comments,strings]
% \end{macrocode}
% \begin{macrocode}
%</lang2>
% \end{macrocode}
% \endgroup
%
%
% \subsection{ACSL}
%
% This language was provided by \lstthanks{Andreas~Matthias}{amat@kabsi.at}
% {2000/03/21}. I'm sorry for forgetting to add this language for a long time.
% \begingroup
% \begin{macrocode}
%<*lang1>
% \end{macrocode}
% \begin{macrocode}
%%
%% 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]%
% \end{macrocode}
% \begin{macrocode}
%</lang1>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Ada}
%
% Data come from
% \begin{itemize}
% \item
% \textsc{Barnes, John Gilbert Presslie}:
% \textbf{Programming in Ada plus language reference manual};
% {\copyright} 1991 Addison-Wesley Publishing Company, Inc.;
% ISBN 0-201-56539-0.
% \end{itemize}
% \lstthanks{Torsten~Neuer}{tneuer@inwise.de}{1998/11/23} added support for
% Ada 95. I changed the definition to reduce the required string memory.
% \begingroup
% \begin{macrocode}
%<*lang1>
% \end{macrocode}
% \begin{macrocode}
%%
%% Ada 95 definition (c) Torsten Neuer
%%
%% Ada 2005 definition (c) 2006 Santiago Urue\~{n}a Pascual
%% <Santiago.Uruena@upm.es>
%%
\lst@definelanguage[2005]{Ada}[95]{Ada}%
{morekeywords={interface,overriding,synchronized}}%
% \end{macrocode}
% \begin{macrocode}
\lst@definelanguage[95]{Ada}[83]{Ada}%
{morekeywords={abstract,aliased,protected,requeue,tagged,until}}%
% \end{macrocode}
% \begin{macrocode}
\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]%
% \end{macrocode}
% \begin{macrocode}
%</lang1>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Algol}
%
% Data come from
% \begin{itemize}
% \item
% \textsc{Uwe Pape}:
% \textbf{Programmieren in ALGOL 60};
% {\copyright} 1973 Carl Hanser Verlag M\"unchen;
% ISBN 3-446-11605-2
% \item
% \textsc{Frank G.\ Pagan}:
% \textbf{A practical guide to ALGOL 68};
% {\copyright} 1976 by John Wiley $\&$ Sohn Ltd.;
% ISBN 0-471-65746-8 (Cloth); ISBN 0-471-65747-6 (Pbk).
% \end{itemize}
% The definition of Algol 68 doesn't support comments enclosed by \rlap{/}c.
% \begingroup
% \begin{macrocode}
%<*lang3>
% \end{macrocode}
% \begin{macrocode}
\lst@definelanguage[68]{Algol}%
% ??? should 'i' be a keyword
{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]%
% \end{macrocode}
% \begin{macrocode}
\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]%
%</lang3>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Assembler}
%
% Credits go to \lstthanks{Michael~Franke}{-}{2006/05/13}.
% \begingroup
% \begin{macrocode}
%<*lang3>
%%
%% Motorola 68K definition (c) 2006 Michael Franke
%%
\lst@definelanguage[Motorola68k]{Assembler}%
{morekeywords={ABCD,ADD,%
ADDA,ADDI,ADDQ,ADDX,AND,ANDI,ASL,ASR,BCC,BLS,BCS,BLT,BEQ,BMI,BF,BNE,BGE,BPL,%
BGT,BT,BHI,BVC,BLE,BVS,BCHG,BCLR,BRA,BSET,BSR,BTST,CHK,CLR,CMP,CMPA,CMPI,CMPM,%
DBCC,DBLS,DBCS,DBLT,DBEQ,DBMI,DBF,DBNE,DBGE,DBPL,DBGT,DBT,DBHI,DBVC,DBLE,DBVS,DIVS,%
DIVU,EOR,EORI,EXG,EXT,ILLEGAL,JMP,JSR,LEA,LINK,LSL,LSR,MOVE,MOVEA,MOVEM,MOVEP,MOVEQ,%
MULS,MULU,NBCD,NEG,NEGX,NOP,NOT,OR,ORI,PEA,RESET,ROL,ROR,ROXL,ROXR,RTE,RTR,RTS,SBCD,%
SCC,SLS,SCS,SLT,SEQ,SMI,SF,SNE,SGE,SPL,SGT,ST,SHI,SVC,SLE,SVS,STOP,SUB,SUBA,SUBI,SUBQ,%
SUBX,SWAP,TAS,TRAP,TRAPV,TST,UNLK},%
sensitive=false,%
morecomment=[l]*,%
morecomment=[l];%
}[keywords,comments,strings]
%</lang3>
% \end{macrocode}
%
% Credits go to \lstthanks{Andrew~Zabolotny}{zap@cobra.ru}{2002/07/05}.
% \begingroup
% \begin{macrocode}
%<*lang3>
%%
%% 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]
%</lang3>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Awk}
%
% Thanks to \lstthanks{Dr.~Christoph~Giess}{Ch.Giess@gmx.de}{2003/07/15} for
% providing these definitions.
% \begingroup
% \begin{macrocode}
%<*lang1>
%%
%% 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}%
}%
% \end{macrocode}
% \begin{macrocode}
\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]%
%</lang1>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Basic}
%
% Credits go to \lstthanks{Robert Frank}{rf7@ukc.ac.uk}{2002/07/05}.
% \begingroup
% \begin{macrocode}
%<*lang1>
%%
%% 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]
%</lang1>
% \end{macrocode}
% Thanks to \lsthelper{Jonathan~de~Halleux}{dehalleux@pelikhan.com}
% {2002/12/27}{missing comma} for reporting a missing comma after
% \texttt{MoreSelectCharTable}, which was the cause of a problem
% reported by \lsthelper{Robert~Frank}{rf7@ukc.ac.uk}{2002/10/27}
% {indention with language={[Visual]Basic} in optional argument}.
% \lsthelper{Martina~Hansel}{Martina.Hansel@fhtw-berlin.de}{2003/05/29}
% {missing comma} also found the bug and the fix.
% \endgroup
%
%
% \subsection{Clean}
%
% Thanks to \lstthanks{Jos\'e~Romildo~Malaquias}{romildo@iceb.ufop.br}{2000/08/08}.
% \lsthelper{Markus~Pahlow}{pahlowm@mar.dfo-mpo.gc.ca}{2001/10/12}{missing comma}
% found a missing comma
% \begingroup
% \begin{macrocode}
%<*lang3>
%%
%% 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]%
%</lang3>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Corba IDL}
%
% This language definition is due to \lstthanks{Jens~T.~Berger~Thielemann}
% {jensthi@ifi.uio.no}{1999/11/28}.
% \begingroup
% \begin{macrocode}
%<*lang2>
%%
%% 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]%
%</lang2>
% \end{macrocode}
% \endgroup
%
%
% \subsection{C, C++, et al}
%
% \begingroup
% \begin{macrocode}
%<*lang1>
% \end{macrocode}
% For compatibility the `ANSI' language is defined in terms of ISO.
% \begin{macrocode}
\lst@definelanguage[ANSI]{C++}[ISO]{C++}{}%
% \end{macrocode}
% \lstthanks{Michael Piefel}{piefel@informatik.hu-berlin.de}{2001/11/21}
% suggested some more changes and added GNU C++.
% \begin{macrocode}
\lst@definelanguage[GNU]{C++}[ISO]{C++}%
{morekeywords={__attribute__,__extension__,__restrict,__restrict__,%
typeof,__typeof__},%
}%
% \end{macrocode}
% \begin{macrocode}
\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},%
}%
% \end{macrocode}
% \begin{macrocode}
\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},%
}%
% \end{macrocode}
% \begin{macrocode}
%</lang1>
% \end{macrocode}
% \endgroup
%
% Objective-C is due to \lstthanks{Detlev~Dr\"oge}
%{droege@informatik.uni-koblenz.de}{1997/11/04}.
% \begingroup
% \begin{macrocode}
%<*lang1>
% \end{macrocode}
% \begin{macrocode}
%%
%% 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}%
}%
% \end{macrocode}
% \begin{macrocode}
%</lang1>
% \end{macrocode}
% \endgroup
%
%
% \lstthanks{J\"org~Viermann}{}{2004/07/17} provided the keywords for Handel-C.
% \begingroup
% \begin{macrocode}
%<*lang1>
% \end{macrocode}
% \begin{macrocode}
%%
%% 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},%
}%
% \end{macrocode}
% \begin{macrocode}
%</lang1>
% \end{macrocode}
% \endgroup
%
%
% \begingroup
% \begin{macrocode}
%<*lang1>
% \end{macrocode}
% \begin{macrocode}
\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]%
% \end{macrocode}
% \begin{macrocode}
%</lang1>
% \end{macrocode}
% \endgroup
%
% \begingroup
% \begin{macrocode}
%<*lang1>
% \end{macrocode}
% Thanks go to \lstthanks{Martin~Brodbeck}{Martin.Brodbeck@gmx.de}{2002/03/17}.
% \begin{macrocode}
%%
%% 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]%
% \end{macrocode}
% \begin{macrocode}
%</lang1>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Caml and Objective Caml}
%
% \lstthanks{Patrick~Cousot}{Patrick.Cousot@wanadoo.fr}{1999/01/09} mailed me
% the definition. \lsthelper{Tom~Hirschowitz}{tom.hirschowitz@inria.fr}
% {2003/05/27}{missing keywords: object, ref} added two keywords.
% \begingroup
% \begin{macrocode}
%<*lang2>
% \end{macrocode}
% \begin{macrocode}
%%
%% (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
}%
% \end{macrocode}
% \begin{macrocode}
\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]%
% \end{macrocode}
% \begin{macrocode}
%</lang2>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Common Intermediate Language}
%
% This langauge definition for CIL (Common Intermediate Language, part
% of Microsoft's .NET interface) was provided by
% \lsthelper{Olaf~Conradi}{-}{2006/08/23}.
%
% \begingroup
% \begin{macrocode}
%<*lang3>
% \end{macrocode}
% \begin{macrocode}
\lstdefinelanguage{CIL}%
{morekeywords=[1]{assembly,beforefieldinit,class,default,cdecl,cil,corflags,%
culture,custom,data,entrypoint,fastcall,field,file,%
hidebysig,hash,il,imagebase,locals,managed,marshall,%
maxstack,mresource,method,module,namespace,publickey,%
stdcall,subsystem,thiscall,unmanaged,vararg,ver,vtfixup,%
% types
bool,char,float32,float64,int,int8,int16,int32,%
int64,method,native,object,string,modopt,modreq,pinned,%
typedref,valuetype,unsigned,void,%
% defining types
abstract,ansi,auto,autochar,beforefieldinit,boxed,class,%
explicit,extends,implements,interface,famandassem,family,%
famorassem,inherits,nested,override,pack,private,property,%
public,rtspecialname,sealed,sequential,serializable,size,%
specialname,static,unicode,%
% postfix
algorithm,alignment,extern,init,from,nometadata,with},%
morekeywords=[2]{add,and,arglist,beq,bge,bgt,ble,blt,bne,br,break,brfalse,%
brtrue,call,calli,ceq,cgt,ckfinite,clt,conv,cpblk,div,%
dup,endfilter,endfinally,initblk,jmp,ldarg,ldarga,ldc,%
ldftn,ldind,ldloc,ldloca,ldnull,leave,localloc,mul,neg,%
nop,not,or,pop,rem,ret,shl,shr,starg,stind,stloc,sub,%
switch,xor,%
% prefix
tail,unaligned,volatile,%
% postfix
un,s,ovf,%
% object
box,callvirt,castclass,cpobj,cctor,ctor,initobj,isinst,%
ldelem,ldelema,ldfld,ldflda,ldlen,ldobj,ldsfld,ldsflda,%
ldstr,ldtoken,ldvirtftn,mkrefany,newarr,newobj,refanytype,%
refanyval,rethrow,sizeof,stelem,stfld,stobj,stsfld,throw,%
unbox},%
sensitive=true,%
morecomment=[l]{//},%
morestring=[b]"%
}[keywords,comments,strings]%
% \end{macrocode}
% \begin{macrocode}
%</lang3>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Cobol}
%
% Keywords are not marked if their names are broken by EOL, for example DEBUG-
% CONTENTS. Sometimes portions of a string are not printed as a string.
% This happens if the double quote is not doubled to insert a quote,
% e.g.~|""bad" cobol"| won't be printed correctly.
% \begingroup
% \begin{macrocode}
%<*lang2>
% \end{macrocode}
% \begin{macrocode}
\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},%
}%
% \end{macrocode}
% \begin{macrocode}
\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},%
}%
% \end{macrocode}
% \begin{macrocode}
\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]%
% \end{macrocode}
% \texttt{commentstyle} (not the surrounding brackets) have been added after
% a bug report by \lsthelper{Stephen Reindl}{Stephen.Reindl@vodafone.de}
% {2002/05/28}{no commentstyle in Cobol}.
% \begin{macrocode}
%</lang2>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Comal 80}
%
% The data is from
% \begin{itemize}
% \item
% \textsc{Borge R. Christensen}:
% \textbf{Strukturierte Programmierung mit COMAL 80} [aus dem
% D\"anischen \"ubertragen und bearbeitet von Margarete Kragh];
% 2., verb.\ Auflage -- M\"unchen; Wien: Oldenburg, 1985;
% ISBN 3-486-26902-X.
% \end{itemize}
% \begingroup
% \begin{macrocode}
%<*lang3>
% \end{macrocode}
% \begin{macrocode}
\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]%
% \end{macrocode}
% \begin{macrocode}
%</lang3>
% \end{macrocode}
% \endgroup
%
%
% \subsection{COMMAND.COM Batch Files}
%
% This definition for DOS and Windows batch files is from
% \lstthanks{Stephan Hennig}{-}{2006/10/11}.
%
% \begingroup
% \begin{macrocode}
%<*lang3>
% \end{macrocode}
% \begin{macrocode}
\lst@definelanguage[WinXP]{command.com}%
{morekeywords={assoc,at,attrib,bootcfg,break,cacls,call,cd,chcp,chdir,%
chkdsk,chkntfs,cls,cmd,cmdextversion,color,comp,compact,convert,copy,%
date,defined,del,dir,diskcomp,diskcopy,do,doskey,echo,else,endlocal,%
erase,errorlevel,exist,exit,fc,find,findstr,for,format,ftype,goto,%
graftabl,help,if,in,label,md,mkdir,mode,more,move,not,off,path,%
pause,popd,print,prompt,pushd,rd,recover,ren,rename,replace,rmdir,%
set,setlocal,shift,sort,start,subst,time,title,tree,type,ver,%
verify,vol,xcopy},%
sensitive=false,%
alsoother={@},%
alsoletter={\%~:-/},%
morecomment=[l]{rem},%
morecomment=[l]{reM},%
morecomment=[l]{rEm},%
morecomment=[l]{rEM},%
morecomment=[l]{Rem},%
morecomment=[l]{ReM},%
morecomment=[l]{REm},%
morecomment=[l]{REM},%
morestring=[d]"%
}[keywords,comments,strings]%
% \end{macrocode}
% \begin{macrocode}
%</lang3>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Comsol Multiphysics}
%
% Comsol Multiphysics (Prior to version 3.2 known as Femlab) can be used
% standalone or as an extension to MatLab. This definition is due to
% \lstthanks{Martin~Heller}{-}{2006/05/10}.
%
% Unfortunately, there is a conflict in that Comsol is case-insensitive,
% whereas Matlab is case-sensitive; \textsf{listings} does not
% currently support different case-sensitivities in the same listing.
%
% \begingroup
% \begin{macrocode}
%<*lang3>
% \end{macrocode}
% \begin{macrocode}
\lst@definelanguage{Comsol}%
{morekeywords={%
adaption,arc1,arc2,arrayr,assemble,asseminit,beziercurve2,block2,%
block3,bsplinecurve2,bsplinecurve3,bsplinesurf3,bypassplot,cardg,%
ccoeffgroup,chamfer,checkgeom,circ1,circ2,coeff2cell,comsol,%
cone2,cone3,Contents,createhexes,createprisms,createquads,csgbl2,%
csgbl3,csgcmpbz,csgimplbz,csginitaux,csginitnr,csgproputil,%
csgrbconv,csgunique3,csguniquep,csgversion,csgvvovl,curve2,%
curve3,cylinder2,cylinder3,dat2str,defastget,display,drawgetobj,%
drawreobj,drawsetobj,dst,duplicate,dxflayers,dxfread,dxfwrite,%
econe2,econe3,eigloop,elcconstr,elcplbnd,elcplextr,elcplproj,%
elcplscalar,elempty,elemreobj,eleqc,eleqw,elevate,elgeom,ellip1,%
ellip2,ellipsoid2,ellipsoid3,ellipsoidgen_fl23,elmat,elovar,%
elpconstr,elshape,elvar,elvarm,embed,extrude,face3,faceprim3,%
fastsetop,fem2jxfem,femblocksu,femdiff,femeig,femexport,femgui,%
femimport,femiter,femlab,femlin,femmesh,femmeshexp,femnlin,%
femplot,femsfun,femsim,femsimlowlevel,femsimserver,femsol,%
femsolver,femstate,femstruct,femtime,femwave,festyle,fieldnames,%
fillet,fl1d,fl2d,fl3d,flaction,flafun,flappconvert,flappobj,%
flaxisequal,flbase,flbinary,flc1hs,flc2hs,flcanpnt,flcell2draw,%
flclear,flcolorbar,flcompact,flconeplot,flcontour2mesh,%
flcontour2meshaux,flconvreact,flconvreact1d,flconvreact2d,%
flconvreact3d,flcyl,fldc1hs,fldc2hs,fldegree,fldegreer3,%
fldegreet3,fldimvarsget,fldisp,fldraw2cell,fldrawnow,fldsmhs,%
fldsmsign,flevalmat,flexch,flexchprop,flfastgeom,flform,flgc,%
flgcbo,flgdconv,flgeom2cellstr,flgeomadj,flgeomarcize,flgeomec,%
flgeomed,flgeomepol,flgeomes,flgeomfc,flgeomfd,flgeomfdp,%
flgeomff1,flgeomff2,flgeomfn,flgeomfs,flgeomgetlocalsys,%
flgeominit,flgeominitprop,flgeomitransform,flgeomloft,flgeommesh,%
flgeomnbs,flgeomnes,flgeomnmr,flgeomnv,flgeompsinv,flgeomrmsing,%
flgeomrotp,flgeomsd,flgeomsdim,flgeomse,flgeomsf2,flgeomspm,%
flgeomtransform,flgeomud,flgeomvtx,flgetdraw,flheat,flheat1d,%
flheat2d,flheat3d,flhelmholtz,flhelmholtz1d,flhelmholtz2d,%
flhelmholtz3d,flim2curve,flinterp1,fliscont,flismember,%
flisnumeric,fljaction,fllaplace,fllaplace1d,fllaplace2d,%
fllaplace3d,flload,flloadfl,flloadmatfile,flloadmfile,%
fllobj2cellstr,flmakeevalstr,flmapsoljac,flmat2str,flmatch,%
flmesh2spline,flmesh2splineaux,flml65setup,flngdof,flnull,%
flnullorth,flpde,flpdeac,flpdec,flpdec1d,flpdec2d,flpdec3d,%
flpdedc,flpdedc2d,flpdedc3d,flpdedf,flpdedf1d,flpdedf2d,%
flpdedf3d,flpdees,flpdees2d,flpdees3d,flpdeg,flpdeg1d,flpdeg2d,%
flpdeg3d,flpdeht,flpdeht1d,flpdeht2d,flpdeht3d,flpdems,flpdems2d,%
flpdems3d,flpdens,flpdens2d,flpdens3d,flpdepn,flpdeps,flpdesm3d,%
flpdew,flpdew1d,flpdew2d,flpdew3d,flpdewb,flpdewb1d,flpdewb2d,%
flpdewb3d,flpdewc,flpdewc1d,flpdewc2d,flpdewc3d,flpdewe,%
flpdewe3d,flpdewp,flpdewp2d,flpdewp3d,flplot,flpoisson,%
flpoisson1d,flpoisson2d,flpoisson3d,flpric2,flpric3,flreobj,%
flreport,flresolvepath,flsave,flschrodinger,flschrodinger1d,%
flschrodinger2d,flschrodinger3d,flsde,flsdp,flsdt,flsetalpha,%
flsetdraw,flsmhs,flsmsign,flspnull,fltherm_cond1,fltrg,flversion,%
flversions,flverver,flwave,flwave1d,flwave2d,flwave3d,%
flwriteghist,formstr,gdsread,gencyl2,gencyl3,genextrude,%
genextrudeaux,geom,geom0,geom0get,geom1,geom1get,geom2,geom2get,%
geom3,geom3get,geom3j2m,geom3m2j,geomaddlblmargin,geomanalyze,%
geomarrayr,geomassign,geomcoerce,geomcomp,geomconnect,geomcopy,%
geomcsg,geomdel,geomedit,geomexport,geomfile,geomget,%
geomgetlabels,geomgetwrkpln,geomimport,geominfo,geominfoaux,%
geomlblplot,geomload,geomnumparse,geomobject,geomparse,geomplot,%
geomplot1,geomplot2,geomplot3,geomposition,geomproputil,%
geomreconstruct,geomreobj,geomserver,geomspline,geomsurf,%
geomupdate,get,getfemgeom,getisocurve,getjptr,getmesh,getsdim,%
getvmatrixexch,handlesolnumstr,helix1,helix2,helix3,hexahedron2,%
hexahedron3,histfrommat,idst,igesread,importplotdata,isempty,%
isfield,isfunc,isscript,javaclass,jproputil,jptr2geom,jptrgeom1,%
jptrgeom1_fl23,jptrgeom2,jptrgeom2_fl23,jptrgeom3,jptrgeom3_fl23,%
keiter,line1,line2,loadobj,loft,matlabinterpdata,mesh2geom,%
meshassign,meshcaseadd,meshcasedel,meshcaseutil,meshcheck,%
meshembed,meshenrich,meshenrich1,meshenrich2,meshenrich3,%
meshexport,meshextend,meshextrude,meshget,meshimport,meshinit,%
meshintegrate,meshmap,meshoptim,meshparse,meshplot,meshplot1,%
meshplot2,meshplot3,meshplotproputil,meshpoi,meshproputil,%
meshptplot,meshqual,meshrefine,meshrevolve,meshsmooth,%
meshsmooth2,meshsweep,meshvolume,minus,mirror,mkreflparams,%
mmsolve,modetype,move,moveglobalfields,mphproputil,mtimes,%
multiphysics,mypostinterp,notscript,onlyelsconstr,outassign,%
paramgeom,pde2draw,pde2equ,pde2fem,pde2geom,pdeblxpd,plus,point1,%
point2,point3,poisson,poly1,poly2,postanim,postapplysettings,%
postarrow,postarrowbnd,postcolorbar,postcont,postcontdomind,%
postcoord,postcopyprop,postcrossplot,postdistrprops,posteval,%
postflow,postfnd,postgeomplot,postgetfem,postgetstylecolor,%
postglobaleval,postglobalplot,postgp,postinit,postint,postinterp,%
postiso,postlin,postmakecontcol,postmax,postmaxmin,postmin,%
postmkcontbar,postmknormexpr,postmovie,postnewplot,%
postoldmaxminprops,postpd2pm,postplot,postplotconstants,%
postpm2pd,postprinc,postprincbnd,postprocgui,postproputil,%
postslice,postsurf,posttet,posttitle,print2file,pyramid2,%
pyramid3,rect1,rect2,restorefields,revolve,rmfield,rotate,%
rotmatrix,scale,serialize,set,setmesh,sh2str,sharg_2_5,shbub,%
shdisc,shdiv,shherm,shlag,shvec,simplecoerce,simreobj,slblocks,%
solassign,solid0,solid1,solid2,solid3,solidprim3,solproputil,%
solsize,solveraddcases,sphere2,sphere3,spiceimport,splineaux,%
split,splittoprim,square1,square2,stlread,submode,submodes,%
subsasgn,subsref,tangent,taucs,tetrahedron2,tetrahedron3,%
tobsplines,torus2,torus3,transform,update,updateassoc,%
updateassocinfo,updatefem,updateguistruct,updateobj,vrmlread,%
xmeshinfo,xmeshinit},%
sensitive=false,%
morecomment=[l]\%,%
morestring=[m]'%
}[keywords,comments,strings]%
% \end{macrocode}
% \begin{macrocode}
%</lang3>
% \end{macrocode}
% \endgroup
%
%
% \subsection{bash, csh, and sh}
%
% csh is from \lstthanks{Kai~Below}{below@tu-harburg.de}{1998/09/21},
% but he pointed out that some keywords are probably missing.
% \begingroup
% \begin{macrocode}
%<*lang1>
% \end{macrocode}
% \begin{macrocode}
%%
%% 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]%
% \end{macrocode}
% Thanks to \lstthanks{Riccardo~Murri}{riccardo.murri@gmx.it}{2003/09/24}
% for the following two definitions.
% \begin{macrocode}
%%
%% bash,sh definition (c) 2003 Riccardo Murri <riccardo.murri@gmx.it>
%%
\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]%
%</lang1>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Delphi}
%
% I took the data from Delphi 1.0 (?) online help.
% \lstthanks{Christian~Gudrian}{chrigu@kawo1.rwth-aachen.de}{2001/08/16}
% provided the `double slash' comment.
% \begingroup
% \begin{macrocode}
%<*lang2>
% \end{macrocode}
% \begin{macrocode}
\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]%
% \end{macrocode}
% \begin{macrocode}
%</lang2>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Eiffel}
%
% Data is from
% \begin{itemize}
% \item
% \textsc{Bertrand Meyer}: \textbf{Eiffel: the language};
% Prentice Hall International (UK) Ldt, 1992;
% ISBN 0-13-247925-7.
% \end{itemize}
% \begingroup
% \begin{macrocode}
%<*lang2>
% \end{macrocode}
% \begin{macrocode}
\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]%
% \end{macrocode}
% The key=value \texttt{stringtest=false} has been removed after a bug
% report from \lsthelper{Xavier~Cr\'egut}{cregut@enseeiht.fr}{2002/09/09}
% {stringtest no more part of package}.
% \begin{macrocode}
%</lang2>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Elan}
%
% The data come from
% \begin{itemize}
% \item
% \textsc{Leo~H.~Klingen, Jochen Liedtke}:
% \textbf{Programmieren mit ELAN};
% B.G.\ Teubner, Stuttgart 1983; ISBN 3-519-02507-8.
% \end{itemize}
% \begingroup
% \begin{macrocode}
%<*lang3>
% \end{macrocode}
% \begin{macrocode}
\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]%
% \end{macrocode}
% \begin{macrocode}
%</lang3>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Erlang}
%
% Thanks to \lstthanks{Daniel~Gazard}{gazard_d@epita.fr}{2003/05/31}.
% \begingroup
% \begin{macrocode}
%<*lang3>
% \end{macrocode}
% \begin{macrocode}
%%
%% 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]%
% \end{macrocode}
% \begin{macrocode}
%</lang3>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Euphoria}
%
% \lstthanks{Detlef~Reimers}{dreimers@aol.com}{1998/08/30} sent me the language
% definition.
% \begingroup
% \begin{macrocode}
%<*lang2>
% \end{macrocode}
% \begin{macrocode}
%%
%% Euphoria definition (c) 1998 Detlef Reimers
%%
\lst@definelanguage{Euphoria}%
% for Euphoria 2.0, Rapid Deployment Software, Kanada
{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]%
% \end{macrocode}
% \begin{macrocode}
%</lang2>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Fortran}
%
% Took things from
% \begin{itemize}
% \item
% \textsc{Karl Hans M\"uller}:
% \textbf{Fortran 77: Programmierungsanleitung};
% 3., v\"ollig neu bearb.\ Aufl.\ -- Mannheim; Wien; Z\"urich:
% Bibliographisches Institut, 1984;
% ISBN 3-411-05804-8
% \item
% \textsc{Thomas Michel}: \textbf{Fortran 90: Lehr-- und Handbuch};
% Mannheim; Leipzig; Wien; Z\"urich: BI-Wiss.-Verlag, 1994;
% ISBN 3-411-16861-7.
% \end{itemize}
% \begingroup
% \begin{macrocode}
%<*lang1>
% \end{macrocode}
% \lsthelper{Denis Girou}{Denis.Girou@idris.fr}{1998/07/26}{Fortran 95=90}
% proposed to have Fortran 95 and Fortran 90 to be equivalent.
% \begin{macrocode}
\lst@definelanguage[90]{Fortran}[95]{Fortran}{}
% \end{macrocode}
% There is no |morecomment=[f]| in Fortran 90 since otherwise CONTAINS could
% start a comment. This problem was reported by \lsthelper{Magne Rudshaug}
% {magne@ife.no}{1998/01/09}{no morecomment=[f] in Fortran 90}.
% Moreover the keyword INCLUDE is due to him.
% \begin{macrocode}
\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,%
ENDBLOCKDATA,ENDFILE,ENDFUNCTION,ENDINTERFACE,%
ENDMODULE,ENDPROGRAM,ENDSELECT,ENDSUBROUTINE,ENDTYPE,ENDWHERE,%
INOUT,SELECTCASE},%
deletecomment=[f],% no fixed comment line: 1998 Magne Rudshaug
morecomment=[l]!%
}%
% \end{macrocode}
% As proposed by \lsthelper{J\"orn Wilms}{wilms@rocinante.colorado.edu}
% {1997/07/07}{Fortran with \lstsensitivefalse} keywords are \emph{not} case
% sensitive. Also, note that Fortran 77 (and fixed-format source in later
% versions) allows space in keywords; thus, this list contains some of the
% more common variants (e.g., `GO TO' and `GOTO').
% \begin{macrocode}
\lst@definelanguage[77]{Fortran}%
{morekeywords={ACCESS,ASSIGN,BACKSPACE,BLANK,BLOCK,CALL,CHARACTER,%
CLOSE,COMMON,COMPLEX,CONTINUE,DATA,DIMENSION,DIRECT,DO,DOUBLE,%
ELSE,ELSEIF,END,ENDIF,ENDDO,ENTRY,EOF,EQUIVALENCE,ERR,EXIST,EXTERNAL,%
FILE,FMT,FORM,FORMAT,FORMATTED,FUNCTION,GO,TO,GOTO,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-77 standard, but allowed in Fortran-95 %%
morecomment=[f]*,%
morecomment=[f]C,%
morecomment=[f]c,%
morestring=[d]",%% not Fortran-77 standard, but allowed in Fortran-95 %%
morestring=[d]'%
}[keywords,comments,strings]%
% \end{macrocode}
% \begin{macrocode}
%</lang1>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Guarded Command Language (GCL)}
%
% As you can read below, \lstthanks{Mark~van~Eijk}{mark@luon.net}{2002/10/30}
% provided this language definition.
% \begingroup
% \begin{macrocode}
%<*lang2>
% \end{macrocode}
% \begin{macrocode}
%%
%% 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]%
% \end{macrocode}
% \begin{macrocode}
%</lang2>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Gnuplot}
%
% Thanks to \lsthelper{Dr.~Christoph~Giess}{Ch.Giess@gmx.de}{2003/07/15}{} for
% providing this definition.
% \begingroup
% \begin{macrocode}
%<*lang2>
%%
%% 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]%
%</lang2>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Haskell}
%
% Thanks to \lstthanks{Peter~Bartke}{bartke@inf.fu-berlin.de}{1999/11/18} for
% providing the new definition.
% \begingroup
% \begin{macrocode}
%<*lang2>
% \end{macrocode}
% \begin{macrocode}
%%
%% 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]%
% \end{macrocode}
% \begin{macrocode}
%</lang2>
% \end{macrocode}
% \endgroup
%
%
% \subsection{HTML}
%
% I'm quite the opposite of a HTML wizard. In particular this is true for the
% defined keywords. \lstthanks{Matthias~Bethke}{-}{2003/09/01} helped me out
% and extended the list.
% \begingroup
% \begin{macrocode}
%<*lang1>
% \end{macrocode}
% \begin{macrocode}
\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
% \end{macrocode}
% Now we take care of comments.
% We don't enter comment mode if we aren't inside |<>|.
% \begin{macrocode}
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]%
% \end{macrocode}
% \lsthelper{Peter~Biechele}{peter.biechele@physik.uni-freiburg.de}
% {1999/07/01}{! Missing $\}$ inserted} reported a problem which was due to
% missing |\@empty| in value of |SelectCharTable|. And after receiving a bug
% report from \lsthelper{Jochen Schneider}{jschneider@ds3.etech.haw-hamburg.de}
% {2002/04/05}{use of \lst@thestyle doesn't match its definition} I converted
% the version 0.21 contents of |MoreSelectCharTable| to version 1.0.
% \begin{macrocode}
%</lang1>
% \end{macrocode}
% \endgroup
%
%
% \subsection{IDL}
%
% The definition is from \lstthanks{J\"urgen~Heim}
% {heim@astro.uni-tuebingen.de}{1998/07/27}.
% \begingroup
% \begin{macrocode}
%<*lang2>
% \end{macrocode}
% \begin{macrocode}
%%
%% 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]%
% \end{macrocode}
% \begin{macrocode}
%</lang2>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Inform}
%
% Thanks to \lstthanks{Jonathan~Sauer}{jonathan.sauer@gmx.de}{2003/11/10}
% for this language definition. \lsthelper{Ulrike Fischer}{-}{2004/04/21}
% {Bug in listings.sty} pointed out that |\lstdefinelanguage| should be
% |\lst@definelanguage|.
% \begingroup
% \begin{macrocode}
%<*lang2>
% \end{macrocode}
% \begin{macrocode}
%%
%% 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]%
% \end{macrocode}
% \begin{macrocode}
%</lang2>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Java}
%
% \lstthanks{Robert~Wenner}{robert.wenner@gmx.de}{2003/03/27} sent in the
% first of the following two definitions.
% \begingroup
% \begin{macrocode}
%<*lang1>
% \end{macrocode}
% \begin{macrocode}
%%
%% AspectJ definition (c) Robert Wenner
%%
\lst@definelanguage[AspectJ]{Java}[]{Java}%
{morekeywords={%
adviceexecution,after,args,around,aspect,aspectOf,before,%
call,cflow,cflowbelow,%
% declare error,declare parents,declare precedence,
% declare soft,declare warning,
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
}%
% \end{macrocode}
% \begin{macrocode}
%</lang1>
% \end{macrocode}
% \endgroup
%
% Got data from \texttt{http://java.sun.com}.
% \begingroup
% \begin{macrocode}
%<*lang1>
% \end{macrocode}
% \begin{macrocode}
\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]%
% \end{macrocode}
% \lsthelper{Herbert Voss}{Herbert.Voss@alumni.TU-Berlin.de}{2002/07/30}
% {missing keyword label} added the keyword \texttt{label}.
% \begin{macrocode}
%</lang1>
% \end{macrocode}
% \endgroup
%
% \lstthanks{Martine~Gautier}{Martine.Gautier@loria.fr}{2004/03/30} made the
% following contribution.
% \begingroup
% \begin{macrocode}
%<*lang1>
% \end{macrocode}
% \begin{macrocode}
%%
%% 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]%
% \end{macrocode}
% \begin{macrocode}
%</lang1>
% \end{macrocode}
% \endgroup
%
%
% \subsection{ksh}
%
% Thanks to \lstthanks{Jeffrey Ratcliffe}{Jeffrey.Ratcliffe@m.eads.net}
% {2002/02/21} for this language definition.
% \begingroup
% \begin{macrocode}
%<*lang3>
% \end{macrocode}
% \begin{macrocode}
\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]%
% \begin{macrocode}
%</lang3>
% \end{macrocode}
% \lsthelper{Herbert Voss}{Herbert.Voss@alumni.TU-Berlin.de}{2002/10/28}
% {[Fwd: Re: Probleme mit Paket listings bei ksh]} suggested to add the
% string delimiter |`|.
% \endgroup
%
%
% \subsection{Lingo}
%
% Thanks to \lstthanks{Mark Schade}{-}{2006/07/26} for this language definition.
% \begingroup
% \begin{macrocode}
%<*lang3>
% \end{macrocode}
% \begin{macrocode}
\lst@definelanguage{Lingo}
{morekeywords={abort,after,and,before,do,down,halt,me,new,not,of,%
on,or,otherwise,pass,put,result,return,set,tell,the,then,to,with,%
repeat,while,case,if,else,true,false,global,property,\_global,\_key,%
\_mouse,\_movie,\_player,\_sound,\_system,abbr,abbrev,abbreviated,abs,%
actionsenabled,activateapplication,activatewindow,active3drenderer,%
activecastlib,activewindow,actorlist,add,addat,addbackdrop,addcamera,%
addchild,addmodifier,addoverlay,addprop,addtoworld,addvertex,alert,%
alerthook,alignment,allowcustomcaching,allowgraphicmenu,allowsavelocal,%
allowtransportcontrol,allowvolumecontrol,allowzooming,alphathreshold,%
ambient,ambientcolor,ancestor,angle,anglebetween,animationenabled,%
antialias,antialiasthreshold,append,applicationname,applicationpath,%
appminimize,atan,attenuation,attributevalue,auto,autoblend,automask,%
autotab,axisangle,back,backcolor,backdrop,backgroundcolor,backspace,%
beep,beepon,beginrecording,beginsprite,beveldepth,beveltype,bgcolor,%
bias,bitand,bitmap,bitmapsizes,bitnot,bitor,bitrate,bitspersample,%
bitxor,blend,blendconstant,blendconstantlist,blendfactor,blendfunction,%
blendfunctionlist,blendlevel,blendrange,blendsource,blendsourcelist,%
blendtime,bone,bonesplayer,border,both,bottom,bottomcap,bottomradius,%
bottomspacing,boundary,boundingsphere,box,boxdropshadow,boxtype,%
breakconnection,breakloop,brightness,broadcastprops,browsername,%
buffersize,build,buttonsenabled,buttonstyle,buttontype,bytesstreamed,%
boolean,cachedocverify,cachesize,call,callancestor,camera,cameracount,%
cameraposition,camerarotation,cancelidleload,castlib,castlibnum,%
castmemberlist,center,centerregpoint,centerstage,changearea,channelcount,%
char,characterset,charpostoloc,chars,charspacing,chartonum,%
checkboxaccess,checkboxtype,checkmark,checknetmessages,child,chunksize,%
clearatrender,clearcache,clearerror,clearframe,clearglobals,clearvalue,%
clickloc,clickmode,clickon,clone,clonedeep,clonemodelfromcastmember,%
clonemotionfromcastmember,close,closed,closewindow,closexlib,collision,%
collisiondata,collisionnormal,color,world,colorbuffer,colorbufferdepth,%
colordepth,colorlist,colorrange,colors,colorsteps,commanddown,comments,%
compressed,connecttonetserver,constrainh,constraint,constrainv,,%
continue,controldown,controller,copypixels,copyrightinfo,copyto,%
copytoclipboard,cos,count,cpuhogticks,creaseangle,creases,[contains],%
createfolder,createmask,creatematte,creationdate,creator,crop,cross,%
crossproduct,cuepassed,cuepointnames,cuepointtimes,currentloopstate,%
currentspritenum,currenttime,cursor,cursorsize,curve,cylinder,ate,day,%
deactivateapplication,deactivatewindow,debug,debugplaybackenabled,%
decaymode,defaultrect,defaultrectmode,delay,delete,deleteall,deleteat,%
deletecamera,deletefolder,deleteframe,deletegroup,deletelight,%
deletemodel,deletemodelresource,deletemotion,deleteone,deleteprop,%
deleteshader,deletetexture,deletevertex,density,depth,depthbufferdepth,%
desktoprectlist,diffuse,diffusecolor,diffuselightmap,%
digitalvideotimescale,digitalvideotype,direction,directionalcolor,%
directionalpreset,directtostage,disableimagingtransformation,displayface,%
displaymode,distanceto,distribution,dither,done,doneparsing,dot,%
dotproduct,doubleclick,downloadnetthing,drag,draw,drawrect,dropshadow,%
duplicate,duplicateframe,duration,editable,editshortcutsenabled,%
elapsedtime,emissive,emitter,empty,emulatemultibuttonmouse,enabled,%
enablehotspot,end,endangle,endcolor,endframe,endrecording,endsprite,%
endtime,enter,enterframe,environment,erase,error,eventpassmode,%
exchange,exists,exit,exitframe,exitlock,exp,externalevent,%
externalparamcount,externalparamname,externalparamvalue,extractalpha,%
extrude3d,face,fadein,fadeout,fadeto,far,field,fieldofview,filename,%
fill,fillcolor,fillcycles,filldirection,filled,fillmode,filloffset,%
fillscale,findempty,findlabel,findpos,findposnear,finishidleload,%
firstindent,fixedlinespace,fixedrate,fixstagesize,flashrect,flashtostage,%
flat,fliph,flipv,float,floatp,floatprecision,flush,flushinputevents,%
fog,folderchar,font,fontsize,fontstyle,forecolor,forget,frame,%
framecount,framelabel,framepalette,framerate,frameready,framescript,%
framesound1,framesound2,framestohms,frametempo,frametransition,freeblock,%
freebytes,fromcastmember,fromimageobject,front,frontwindow,%
generatenormals,getaprop,getat,getbehaviordescription,getbehaviortooltip,%
getboneid,geterror,geterrorstring,gethardwareinfo,gethotspotrect,getlast,%
getlatestnetid,getnetaddresscookie,getneterrorstring,getnetmessage,%
getnetoutgoingbytes,getnettext,getnormalized,getnthfilenameinfolder,%
getnumberwaitingnetmessages,getone,getpeerconnectionlist,getpixel,%
getplaylist,getpos,getpref,getprop,getpropat,getpropertydescriptionlist,%
getrendererservices,getstreamstatus,gettemppath,getworldtransform,globals,%
glossmap,go,gotoframe,gotonetmovie,gotonetpage,gradienttype,gravity,%
group,handler,handlers,height,heightvertices,high,highlightpercentage,%
highlightstrength,hilite,hither,hittest,hmstoframes,hold,hotspot,html,%
hyperlink,hyperlinkclicked,hyperlinkrange,hyperlinks,hyperlinkstate,%
id3tags,identity,idle,idlehandlerperiod,idleloaddone,idleloadmode,%
idleloadperiod,idleloadtag,idlereadchunksize,ilk,image,imagecompression,%
imageenabled,imagequality,immovable,importfileinto,inflate,ink,inker,%
inlineimeenabled,insertbackdrop,insertframe,insertoverlay,inside,%
installmenu,instance,integer,integerp,interface,interpolate,%
interpolateto,intersect,index,interval,inverse,invert,invertmask,%
isbusy,isinworld,isoktoattach,ispastcuepoint,item,itemdelimiter,kerning,%
kerningthreshold,key,keyboardfocussprite,keycode,keydown,keydownscript,%
keyframeplayer,keypressed,keyup,keyupscript,label,labellist,last,%
lastchannel,lastclick,lastevent,lastframe,lastkey,lastroll,left,%
leftindent,length,lengthvertices,level,lifetime,light,line,linearlist,%
linecolor,linecount,linedirection,lineheight,lineoffset,linepostolocv,%
linesize,linkas,linked,list,listp,loaded,loadfile,loc,loch,locked,%
locktranslation,loctocharpos,locv,locvtolinepos,locz,lod,log,long,%
loop,loopcount,loopendtime,loopsremaining,loopstarttime,machinetype,%
magnitude,map,mapImageToStage,mapmembertostage,mapstagetomember,margin,%
marker,markerlist,mask,max,maxinteger,maxspeed,mci,media,mediaready,%
member,membernum,members,memorysize,menu,mesh,meshdeform,milliseconds,%
min,minspeed,modal,mode,model,modela,modelb,modelresource,%
modelsunderloc,modelsunderray,modelunderloc,modified,modifiedby,%
modifieddate,modifier,modifiers,month,mostrecentcuepoint,motion,%
mousechar,mousedown,mousedownscript,mouseenter,mouseh,mouseitem,%
mouseleave,mouselevel,mouseline,mouseloc,mousemember,mouseoverbutton,%
mouseup,mouseupoutside,mouseupscript,mousev,mousewithin,mouseword,move,%
moveablesprite,movetoback,movetofront,movevertex,movevertexhandle,%
movewindow,movie,movieaboutinfo,moviecopyrightinfo,moviefilefreesize,%
moviefilesize,moviefileversion,movieimagecompression,movieimagequality,%
moviename,moviepath,movierate,movietime,moviextralist,mpeglayer,%
multiply,multisound,name,near,nearfiltering,neighbor,netabort,netdone,%
neterror,netlastmoddate,netmime,netpresent,netstatus,nettextresult,%
netthrottleticks,newcamera,newcurve,newgroup,newlight,newmesh,newmodel,%
newmodelresource,newmotion,newshader,newtexture,next,none,normalize,%
normallist,normals,nothing,notify,nudge,number,numchannels,%
numparticles,numsegments,numtochar,objectp,offset,open,openresfile,%
openwindow,openxlib,optiondown,organizationname,originalfont,originh,%
originmode,originpoint,originv,orthoheight,overlay,pageheight,palette,%
palettemapping,paletteref,paletteindex,pan,paragraph,param,paramcount,%
parent,parsestring,particle,pasteclipboardinto,path,pathname,%
pathstrength,pattern,pause,pausedatstart,pausestate,percentplayed,%
percentstreamed,period,perpendicularto,persistent,pi,picture,picturep,%
plane,platform,play,playbackmode,playfile,playing,playlist,playnext,%
playrate,point,pointat,pointatorientation,pointinhyperlink,%
pointofcontact,pointtochar,pointtoitem,pointtoline,pointtoparagraph,%
pointtoword,position,positionreset,posterframe,postnettext,power,%
preferred3drenderer,preload,preloadbuffer,preloadeventabort,preloadmember,%
preloadmode,preloadmovie,preloadnetthing,preloadram,preloadtime,%
premultiply,prepareframe,preparemovie,prerotate,prescale,pretranslate,%
previous,primitives,printfrom,productversion,projection,projectionangle,%
propList,proxyserver,pttohotspotid,puppet,puppetpalette,puppetsound,%
puppetsprite,puppettempo,puppettransition,purgepriority,%
qtregisteraccesskey,qtunregisteraccesskey,quad,quality,queue,quit,quote,%
radius,ramneeded,random,randomseed,randomvector,rateshift,rawnew,read,%
readvalue,recordfont,rect,ref,reflectionmap,reflectivity,region,%
registerforevent,registerscript,regpoint,regpointvertex,removebackdrop,%
removefromworld,removelast,removemodifier,removeoverlay,rename,renderer,%
rendererdevicelist,renderformat,renderstyle,resetworld,resizewindow,%
resolution,resolve,resolvea,resolveb,resource,restart,resume,%
reverttoworlddefaults,rewind,rgb,rgba4444,rgba5550,rgba5551,rgba5650,%
rgba8880,rgba8888,right,rightindent,rightmousedown,rightmouseup,%
rollover,romanlingo,rootlock,rootnode,rotate,rotation,rotationreset,%
rtf,runmode,runpropertydialog,safeplayer,samplecount,samplerate,%
samplesize,save,savedlocal,savemovie,scale,scalemode,score,scorecolor,%
scoreselection,script,scriptexecutionstyle,scriptinstancelist,scriptlist,%
scriptnum,scriptsenabled,scripttext,scripttype,scrollbyline,scrollbypage,%
scrolltop,sds,searchcurrentfolder,searchpath,searchpaths,seconds,%
selectedtext,selection,selend,selstart,sendallsprites,sendevent,%
sendnetmessage,sendsprite,serialnumber,setalpha,setaprop,setat,%
setcollisioncallback,setflashproperty,setnetbufferlimits,%
setnetmessagehandler,setpixel,setplaylist,setpref,setprop,setscriptlist,%
settrackenabled,setvariable,shader,shaderlist,shadowpercentage,%
shadowstrength,shapetype,shiftdown,shininess,shockwave3d,short,%
showglobals,showlocals,showprops,showresfile,showxlib,shutdown,%
silhouettes,sin,size,sizerange,skew,sleep,smoothness,sort,sound,%
soundbusy,soundchannel,sounddevice,sounddevicelist,soundenabled,%
soundkeepdevice,soundlevel,soundmixmedia,source,sourcerect,space,%
specular,specularcolor,specularlightmap,sphere,spotangle,spotdecay,%
sprite,spritenum,spritespacetoworldspace,sqrt,stage,stagebottom,%
stagecolor,stageleft,stageright,stagetoflash,stagetop,standard,%
startangle,startframe,startmovie,starttime,starttimer,state,static,%
status,stepframe,stilldown,stop,stopevent,stopmovie,stoptime,stream,%
streammode,streamname,streamsize,streamstatus,string,stringp,%
strokecolor,strokewidth,style,subdivision,sweep,swing,switchcolordepth,%
symbol,symbolp,systemdate,tab,tabcount,tabs,tan,target,%
tellstreamstatus,tension,text,texture,texturecoordinatelist,%
texturecoordinates,texturelayer,texturelist,texturemember,texturemode,%
texturemodelist,texturerenderformat,texturerepeat,texturerepeatlist,%
texturetransform,texturetransformlist,texturetype,thumbnail,ticks,tilt,%
time,timeout,timeouthandler,timeoutkeydown,timeoutlapsed,timeoutlength,%
timeoutlist,timeoutmouse,timeoutplay,timeoutscript,timer,timescale,%
title,titlevisible,toon,top,topcap,topradius,topspacing,trace,%
traceload,tracelogfile,trackcount,trackenabled,tracknextkeytime,%
tracknextsampletime,trackpreviouskeytime,trackprevioussampletime,%
trackstarttime,trackstoptime,tracktext,tracktype,trails,transform,%
transitiontype,translate,triggercallback,trimwhitespace,tunneldepth,%
tweened,tweenmode,type,[transparent],union,unload,unloadmember,%
unloadmovie,unregisterallevents,update,updateframe,updatelock,%
updatemovieenabled,updatestage,url,usealpha,usediffusewithtexture,%
usefastquads,usehypertextstyles,uselineoffset,userdata,username,value,%
vector,version,vertex,vertexlist,vertices,video,videoforwindowspresent,%
viewh,viewpoint,viewscale,viewv,visibility,visible,void,voidp,volume,%
volumeinfo,wait,waitfornetconnection,warpmode,width,widthvertices,wind,%
window,windowlist,windowpresent,windowtype,word,wordwrap,world,%
worldposition,worldspacetospritespace,worldtransform,wraptransform,%
wraptransformlist,write,writevalue,,xaxis,xtra,xtralist,xtras,,yaxis,%
year,yon,zaxis,zoombox,zoomwindow,repeat,Conditional,Boolean,TypeDef,%
Statement,Operator,String,Comment,Identifier,Special,x,y,z}
sensitive=false,
morecomment=[l]{--},
morestring=[b]",
}[keywords,comments,strings]%
% \begin{macrocode}
%</lang3>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Lisp, AutoLisp}
%
% Most data are from
% \begin{itemize}
% \item
% \textsc{Guy Steele}:
% \textbf{Common Lisp};
% Copyright 1990 by Digital Equipment Corporation;
% ISBN 1-55558-042-4.
% \end{itemize}
% Thanks to \lsthelper{Aslak Raanes}{araanes@ifi.ntnu.no}{1997/11/24}{single
% comment in Lisp} for the `single comment' delimiters. The keywords are the
% `one-word' functions and macros of Common Lisp, i.e.~words not containing a
% minus. But I left out the \texttt{caaaar}, \ldots{} functions.
% If anyone types them in, I'd like to get them.
% \begingroup
% \begin{macrocode}
%<*lang2>
% \end{macrocode}
% \begin{macrocode}
\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]%
% \end{macrocode}
% \begin{macrocode}
%</lang2>
% \end{macrocode}
% \endgroup
%
%
% \begingroup
% \begin{macrocode}
%<*lang2>
% \end{macrocode}
% \lstthanks{Stefan Lagotzki}{info@lagotzki.de}{2001/10/28} warned me to
% define this as a lisp dialect \ldots
% \begin{macrocode}
%%
%% 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]%
% \end{macrocode}
% \begin{macrocode}
%</lang2>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Logo}
%
% I don't know where the keywords are from and what kind of Logo it is.
% Help me!
% \begingroup
% \begin{macrocode}
%<*lang3>
% \end{macrocode}
% \begin{macrocode}
\lst@definelanguage{Logo}%
% ??? {end,unix} also keywords
{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]%
% \end{macrocode}
% \begin{macrocode}
%</lang3>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Make}
%
% \lstthanks{Rolf~Niepraschk}{niepraschk@ptb.de}{2000/01/10} sent me the new
% definitions. \lstthanks{Markus~Pahlow}{pahlowm@mar.dfo-mpo.gc.ca}{2001/10/12}
% found a missing comma and added some keywords, which improve the highlighting
% with |makemacrouse=true| (but I haven't tested this).
% \begingroup
% \begin{macrocode}
%<*lang2>
% \end{macrocode}
% \begin{macrocode}
%%
%% 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,<D,<F,^D,^F,+D,+F,?D,?F,%
AR,AS,CC,CXX,CO,CPP,FC,GET,LEX,PC,YACC,YACCR,MAKEINFO,TEXI2DVI,%
WEAVE,CWEAVE,TANGLE,CTANGLE,RM,M2C,LINT,COMPILE,LINK,PREPROCESS,%
CHECKOUT,%
ARFLAGS,ASFLAGS,CFLAGS,CXXFLAGS,COFLAGS,CPPFLAGS,FFLAGS,GFLAGS,%
LDFLAGS,LOADLIBES,LFLAGS,PFLAGS,RFLAGS,YFLAGS,M2FLAGS,MODFLAGS,%
LINTFLAGS,MAKEINFO_FLAGS,TEXI2DVI_FLAGS,COFLAGS,GFLAGS,%
OUTPUT_OPTION,SCCS_OUTPUT_OPTION,% missing comma: Markus Pahlow
.PHONY,.SUFFIXES,.DEFAULT,.PRECIOUS,.INTERMEDIATE,.SECONDARY,%
.IGNORE,.SILENT,.EXPORT_ALL_VARIABLES,MAKEFILES,VPATH,MAKESHELL,%
MAKELEVEL,MAKECMDGOALS,SUFFIXES},%
sensitive=true,
morecomment=[l]\#,%
morestring=[b]"%
}[keywords,comments,strings,make]%
% \end{macrocode}
% \begin{macrocode}
\lst@definelanguage{make}
{morekeywords={SHELL,MAKE,MAKEFLAGS,$@,$\%,$<,$?,$^,$+,$*},%
sensitive=true,%
morecomment=[l]\#,%
morestring=[b]"%
}[keywords,comments,strings,make]%
% \end{macrocode}
% The two \texttt{[b]}-arguments have been added after a bug report by
% \lsthelper{Dr.~Jobst~Hoffmann}{2002/06/24,2002/09/05}{language=make leads
% to: Use of \lst@FindAlias doesn't match its definition}.
% \begin{macrocode}
%</lang2>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Matlab}
%
% I took the keywords from \texttt{http://www.utexas.edu/math/Matlab/Manual},
% but I removed the keywords |i|, |j| and |tmp|---the change was proposed by
% \lsthelper{Kai Below}{below@tu-harburg.de}{1998/09/21}{Matlab: keywords
% i,j,tmp removed}.
% \begingroup
% \begin{macrocode}
%<*lang1>
% \end{macrocode}
% \begin{macrocode}
\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]%
% \end{macrocode}
% \begin{macrocode}
%</lang1>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Mathematica}
%
% \lstthanks{Michael Wiese}{wiese@itwm.uni-kl.de}{1999/02/25} typed in all the
% keywords for the 1.0 and 3.0 versions.
% \lstthanks{Oliver~Ruebenkoenig}{-}{2006/07/17} wrote a script to generate
% the lists for the 5.2 version.
% \begingroup
% \begin{macrocode}
%<*lang1>
% \end{macrocode}
% \begin{macrocode}
\lst@definelanguage[5.2]{Mathematica}[3.0]{Mathematica}%%
{morekeywords={Above,AbsoluteOptions,AbsoluteTiming,AccountingForm,%
AccuracyGoal,Active,ActiveItem,AddOnHelpPath,%
AdjustmentBox,AdjustmentBoxOptions,After,AiryAiPrime,%
AlgebraicRulesData,Algebraics,Alias,AlignmentMarker,%
AllowInlineCells,AllowScriptLevelChange,Analytic,AnimationCycleOffset,%
AnimationCycleRepetitions,AnimationDirection,AnimationDisplayTime,ApartSquareFree,%
AppellF1,ArgumentCountQ,ArrayDepth,ArrayPlot,%
ArrayQ,ArrayRules,AspectRatioFixed,Assuming,%
Assumptions,AutoDelete,AutoEvaluateEvents,AutoGeneratedPackage,%
AutoIndent,AutoIndentSpacings,AutoItalicWords,AutoloadPath,%
AutoOpenNotebooks,AutoOpenPalettes,AutoScroll,AutoSpacing,%
AutoStyleOptions,Axis,BackgroundTasksSettings,Backsubstitution,%
Backward,Baseline,Before,BeginDialogPacket,%
BeginFrontEndInteractionPacket,Below,BezoutMatrix,BinaryFormat,%
BinaryGet,BinaryRead,BinaryReadList,BinaryWrite,%
BitAnd,BitNot,BitOr,BitXor,%
Black,BlankForm,Blue,Boole,%
Booleans,Bottom,Bounds,Box,%
BoxBaselineShift,BoxData,BoxDimensions,BoxFormFormatTypes,%
BoxFrame,BoxMargins,BoxRegion,Brown,%
Buchberger,Button,ButtonBox,ButtonBoxOptions,%
ButtonCell,ButtonContents,ButtonData,ButtonEvaluator,%
ButtonExpandable,ButtonFrame,ButtonFunction,ButtonMargins,%
ButtonMinHeight,ButtonNote,ButtonNotebook,ButtonSource,%
ButtonStyle,ButtonStyleMenuListing,ByteOrdering,CallPacket,%
CarmichaelLambda,Cell,CellAutoOverwrite,CellBaseline,%
CellBoundingBox,CellBracketOptions,CellContents,CellDingbat,%
CellEditDuplicate,CellElementsBoundingBox,CellElementSpacings,CellEvaluationDuplicate,%
CellFrame,CellFrameColor,CellFrameLabelMargins,CellFrameLabels,%
CellFrameMargins,CellGroup,CellGroupData,CellGrouping,%
CellGroupingRules,CellHorizontalScrolling,CellLabel,CellLabelAutoDelete,%
CellLabelMargins,CellLabelPositioning,CellMargins,CellObject,%
CellOpen,CellPasswords,CellPrint,CellSize,%
CellStyle,CellTags,CellularAutomaton,Center,%
CharacterEncoding,CharacterEncodingsPath,CharacteristicPolynomial,CharacterRange,%
CheckAll,CholeskyDecomposition,Clip,ClipboardNotebook,%
Closed,ClosingAutoSave,CoefficientArrays,CoefficientDomain,%
CofactorExpansion,ColonForm,ColorFunctionScaling,ColorRules,%
ColorSelectorSettings,Column,ColumnAlignments,ColumnLines,%
ColumnsEqual,ColumnSpacings,ColumnWidths,CommonDefaultFormatTypes,%
CompileOptimizations,CompletionsListPacket,Complexes,ComplexityFunction,%
Compose,ComposeSeries,ConfigurationPath,ConjugateTranspose,%
Connect,ConsoleMessage,ConsoleMessagePacket,ConsolePrint,%
ContentsBoundingBox,ContextToFileName,ContinuedFraction,ConversionOptions,%
ConversionRules,ConvertToBitmapPacket,ConvertToPostScript,ConvertToPostScriptPacket,%
Copyable,CoshIntegral,CounterAssignments,CounterBox,%
CounterBoxOptions,CounterEvaluator,CounterFunction,CounterIncrements,%
CounterStyle,CounterStyleMenuListing,CreatePalettePacket,Cross,%
CurrentlySpeakingPacket,Cyan,CylindricalDecomposition,DampingFactor,%
DataRange,Debug,DebugTag,Decimal,%
DedekindEta,DefaultDuplicateCellStyle,DefaultFontProperties,DefaultFormatType,%
DefaultFormatTypeForStyle,DefaultInlineFormatType,DefaultInputFormatType,
DefaultNaturalLanguage,%
DefaultNewCellStyle,DefaultNewInlineCellStyle,DefaultNotebook,DefaultOutputFormatType,%
DefaultStyleDefinitions,DefaultTextFormatType,DefaultTextInlineFormatType,DefaultValues,%
DefineExternal,DegreeLexicographic,DegreeReverseLexicographic,Deletable,%
DeleteContents,DeletionWarning,DelimiterFlashTime,DelimiterMatching,%
Delimiters,DependentVariables,DiacriticalPositioning,DialogLevel,%
DifferenceOrder,DigitCharacter,DigitCount,DiracDelta,%
Direction,DirectoryName,DisableConsolePrintPacket,DiscreteDelta,%
DisplayAnimation,DisplayEndPacket,DisplayFlushImagePacket,DisplayForm,%
DisplayPacket,DisplayRules,DisplaySetSizePacket,DisplayString,%
DivisionFreeRowReduction,DOSTextFormat,DoubleExponential,DoublyInfinite,%
Down,DragAndDrop,DrawHighlighted,DualLinearProgramming,%
DumpGet,DumpSave,Edit,Editable,%
EditButtonSettings,EditCellTagsSettings,EditDefinition,EditIn,%
Element,EliminationOrder,EllipticExpPrime,EllipticNomeQ,%
EllipticReducedHalfPeriods,EllipticThetaPrime,Empty,EnableConsolePrintPacket,%
Encoding,EndAdd,EndDialogPacket,EndFrontEndInteractionPacket,%
EndOfLine,EndOfString,Enter,EnterExpressionPacket,%
EnterTextPacket,EqualColumns,EqualRows,EquatedTo,%
Erfi,ErrorBox,ErrorBoxOptions,ErrorNorm,%
ErrorPacket,ErrorsDialogSettings,Evaluatable,EvaluatePacket,%
EvaluationCell,EvaluationCompletionAction,EvaluationMonitor,EvaluationNotebook,%
Evaluator,EvaluatorNames,EventEvaluator,ExactNumberQ,%
ExactRootIsolation,Except,ExcludedForms,Exists,%
ExitDialog,ExponentPosition,ExponentStep,Export,%
ExportAutoReplacements,ExportPacket,ExportString,ExpressionPacket,%
ExpToTrig,Extension,ExternalCall,ExternalDataCharacterEncoding,%
Extract,Fail,FEDisableConsolePrintPacket,FEEnableConsolePrintPacket,%
Fibonacci,File,FileFormat,FileInformation,%
FileName,FileNameDialogSettings,FindFit,FindInstance,%
FindMaximum,FindSettings,FitAll,FlushPrintOutputPacket,%
Font,FontColor,FontFamily,FontName,%
FontPostScriptName,FontProperties,FontReencoding,FontSize,%
FontSlant,FontSubstitutions,FontTracking,FontVariations,%
FontWeight,ForAll,FormatRules,FormatTypeAutoConvert,%
FormatValues,FormBox,FormBoxOptions,Forward,%
ForwardBackward,FourierCosTransform,FourierParameters,FourierSinTransform,%
FourierTransform,FractionalPart,FractionBox,FractionBoxOptions,%
FractionLine,FrameBox,FrameBoxOptions,FresnelC,%
FresnelS,FromContinuedFraction,FromDigits,FrontEndExecute,%
FrontEndObject,FrontEndStackSize,FrontEndToken,FrontEndTokenExecute,%
FrontEndVersion,Full,FullAxes,FullSimplify,%
FunctionExpand,FunctionInterpolation,GaussKronrod,GaussPoints,%
GenerateBitmapCaches,GenerateConditions,GeneratedCell,GeneratedParameters,%
Generic,GetBoundingBoxSizePacket,GetContext,GetFileName,%
GetFrontEndOptionsDataPacket,GetLinebreakInformationPacket,%
GetMenusPacket,GetPageBreakInformationPacket,%
Glaisher,GlobalPreferences,GlobalSession,Gradient,%
GraphicsData,GraphicsGrouping,Gray,Green,%
Grid,GridBaseline,GridBox,GridBoxOptions,%
GridCreationSettings,GridDefaultElement,GridFrame,GridFrameMargins,%
GroupPageBreakWithin,HarmonicNumber,Hash,HashTable,%
HeadCompose,HelpBrowserLookup,HelpBrowserNotebook,HelpBrowserSettings,%
HessenbergDecomposition,Hessian,HoldAllComplete,HoldComplete,%
HoldPattern,Horizontal,HorizontalForm,HorizontalScrollPosition,%
HTMLSave,Hypergeometric0F1Regularized,Hypergeometric1F1Regularized,%
Hypergeometric2F1Regularized,%
HypergeometricPFQ,HypergeometricPFQRegularized,HyperlinkCreationSettings,Hyphenation,%
HyphenationOptions,IgnoreCase,ImageCache,ImageCacheValid,%
ImageMargins,ImageOffset,ImageRangeCache,ImageRegion,%
ImageResolution,ImageRotated,ImageSize,Import,%
ImportAutoReplacements,ImportString,IncludeFileExtension,IncludeSingularTerm,%
IndentingNewlineSpacings,IndentMaxFraction,IndexCreationOptions,Inequality,%
InexactNumberQ,InexactNumbers,Inherited,InitializationCell,%
InitializationCellEvaluation,InitializationCellWarning,%
InlineCounterAssignments,InlineCounterIncrements,%
InlineRules,InputAliases,InputAutoFormat,InputAutoReplacements,%
InputGrouping,InputNamePacket,InputNotebook,InputPacket,%
InputSettings,InputStringPacket,InputToBoxFormPacket,InputToInputForm,%
InputToStandardForm,InsertionPointObject,IntegerExponent,IntegerPart,%
Integers,Interactive,Interlaced,InterpolationOrder,%
InterpolationPoints,InterpolationPrecision,InterpretationBox,%
InterpretationBoxOptions,%
InterpretTemplate,InterruptSettings,Interval,IntervalIntersection,%
IntervalMemberQ,IntervalUnion,InverseBetaRegularized,InverseEllipticNomeQ,%
InverseErf,InverseErfc,InverseFourierCosTransform,
InverseFourierSinTransform,%
InverseFourierTransform,InverseGammaRegularized,InverseJacobiCD,%
InverseJacobiCN,%
InverseJacobiCS,InverseJacobiDC,InverseJacobiDN,InverseJacobiDS,%
InverseJacobiNC,InverseJacobiND,InverseJacobiNS,InverseJacobiSC,%
InverseJacobiSD,InverseLaplaceTransform,InverseWeierstrassP,InverseZTransform,%
Jacobian,JacobiCD,JacobiCN,JacobiCS,%
JacobiDC,JacobiDN,JacobiDS,JacobiNC,%
JacobiND,JacobiNS,JacobiSC,JacobiSD,%
JordanDecomposition,K,Khinchin,KleinInvariantJ,%
KroneckerDelta,Language,LanguageCategory,LaplaceTransform,%
Larger,Launch,LayoutInformation,Left,%
LetterCharacter,Lexicographic,LicenseID,LimitsPositioning,%
LimitsPositioningTokens,LinearSolveFunction,LinebreakAdjustments,LineBreakWithin,%
LineForm,LineIndent,LineSpacing,LineWrapParts,%
LinkActivate,LinkClose,LinkConnect,LinkConnectedQ,%
LinkCreate,LinkError,LinkFlush,LinkHost,%
LinkInterrupt,LinkLaunch,LinkMode,LinkObject,%
LinkOpen,LinkOptions,LinkPatterns,LinkProtocol,%
LinkRead,LinkReadHeld,LinkReadyQ,Links,%
LinkWrite,LinkWriteHeld,ListConvolve,ListCorrelate,%
Listen,ListInterpolation,ListQ,LiteralSearch,%
LongestMatch,LongForm,Loopback,LUBackSubstitution,%
LUDecomposition,MachineID,MachineName,MachinePrecision,%
MacintoshSystemPageSetup,Magenta,Magnification,MakeBoxes,%
MakeExpression,MakeRules,Manual,MatchLocalNameQ,%
MathematicaNotation,MathieuC,MathieuCharacteristicA,MathieuCharacteristicB,%
MathieuCharacteristicExponent,MathieuCPrime,MathieuS,MathieuSPrime,%
MathMLForm,MathMLText,MatrixRank,Maximize,%
MaxIterations,MaxPlotPoints,MaxPoints,MaxRecursion,%
MaxStepFraction,MaxSteps,MaxStepSize,Mean,%
Median,MeijerG,MenuPacket,MessageOptions,%
MessagePacket,MessagesNotebook,MetaCharacters,Method,%
MethodOptions,Minimize,MinRecursion,MinSize,%
Mode,ModularLambda,MonomialOrder,MonteCarlo,%
Most,MousePointerNote,MultiDimensional,MultilaunchWarning,%
MultilineFunction,MultiplicativeOrder,Multiplicity,Nand,%
NeedCurrentFrontEndPackagePacket,NeedCurrentFrontEndSymbolsPacket,%
NestedScriptRules,NestWhile,%
NestWhileList,NevilleThetaC,NevilleThetaD,NevilleThetaN,%
NevilleThetaS,Newton,Next,NHoldAll,%
NHoldFirst,NHoldRest,NMaximize,NMinimize,%
NonAssociative,NonPositive,Nor,Norm,%
NormalGrouping,NormalSelection,NormFunction,Notebook,%
NotebookApply,NotebookAutoSave,NotebookClose,NotebookConvert,%
NotebookConvertSettings,NotebookCreate,NotebookCreateReturnObject,NotebookDefault,%
NotebookDelete,NotebookDirectory,NotebookFind,NotebookFindReturnObject,%
NotebookGet,NotebookGetLayoutInformationPacket,NotebookGetMisspellingsPacket,%
NotebookInformation,%
NotebookLocate,NotebookObject,NotebookOpen,NotebookOpenReturnObject,%
NotebookPath,NotebookPrint,NotebookPut,NotebookPutReturnObject,%
NotebookRead,NotebookResetGeneratedCells,Notebooks,NotebookSave,%
NotebookSaveAs,NotebookSelection,NotebookSetupLayoutInformationPacket,%
NotebooksMenu,%
NotebookWrite,NotElement,NProductExtraFactors,NProductFactors,%
NRoots,NSumExtraTerms,NSumTerms,NumberMarks,%
NumberMultiplier,NumberString,NumericFunction,NumericQ,%
NValues,Offset,OLEData,OneStepRowReduction,%
Open,OpenFunctionInspectorPacket,OpenSpecialOptions,OptimizationLevel,%
OptionInspectorSettings,OptionQ,OptionsPacket,OptionValueBox,%
OptionValueBoxOptions,Orange,Ordering,Oscillatory,%
OutputAutoOverwrite,OutputFormData,OutputGrouping,OutputMathEditExpression,%
OutputNamePacket,OutputToOutputForm,OutputToStandardForm,Over,%
Overflow,Overlaps,Overscript,OverscriptBox,%
OverscriptBoxOptions,OwnValues,PadLeft,PadRight,%
PageBreakAbove,PageBreakBelow,PageBreakWithin,PageFooterLines,%
PageFooters,PageHeaderLines,PageHeaders,PalettePath,%
PaperWidth,ParagraphIndent,ParagraphSpacing,ParameterVariables,%
ParentConnect,ParentForm,Parenthesize,PasteBoxFormInlineCells,%
Path,PatternTest,PeriodicInterpolation,Pick,%
Piecewise,PiecewiseExpand,Pink,Pivoting,%
PixelConstrained,Placeholder,Plain,Plot3Matrix,%
PointForm,PolynomialForm,PolynomialReduce,Polynomials,%
PowerModList,Precedence,PreferencesPath,PreserveStyleSheet,%
Previous,PrimaryPlaceholder,Primes,PrincipalValue,%
PrintAction,PrintingCopies,PrintingOptions,PrintingPageRange,%
PrintingStartingPageNumber,PrintingStyleEnvironment,PrintPrecision,%
PrivateCellOptions,%
PrivateEvaluationOptions,PrivateFontOptions,PrivateNotebookOptions,PrivatePaths,%
ProductLog,PromptForm,Purple,Quantile,%
QuasiMonteCarlo,QuasiNewton,RadicalBox,RadicalBoxOptions,%
RandomSeed,RationalFunctions,Rationals,RawData,%
RawMedium,RealBlockForm,Reals,Reap,%
Red,Refine,Refresh,RegularExpression,%
Reinstall,Release,Removed,RenderingOptions,%
RepeatedString,ReplaceList,Rescale,ResetMenusPacket,%
Resolve,ResumePacket,ReturnExpressionPacket,ReturnInputFormPacket,%
ReturnPacket,ReturnTextPacket,Right,Root,%
RootReduce,RootSum,Row,RowAlignments,%
RowBox,RowLines,RowMinHeight,RowsEqual,%
RowSpacings,RSolve,RuleCondition,RuleForm,%
RulerUnits,Saveable,SaveAutoDelete,ScreenRectangle,%
ScreenStyleEnvironment,ScriptBaselineShifts,ScriptLevel,ScriptMinSize,%
ScriptRules,ScriptSizeMultipliers,ScrollingOptions,ScrollPosition,%
Second,SectionGrouping,Selectable,SelectedNotebook,%
Selection,SelectionAnimate,SelectionCell,SelectionCellCreateCell,%
SelectionCellDefaultStyle,SelectionCellParentStyle,SelectionCreateCell,%
SelectionDuplicateCell,%
SelectionEvaluate,SelectionEvaluateCreateCell,SelectionMove,SelectionSetStyle,%
SelectionStrategy,SendFontInformationToKernel,SequenceHold,SequenceLimit,%
SeriesCoefficient,SetBoxFormNamesPacket,SetEvaluationNotebook,%
SetFileLoadingContext,%
SetNotebookStatusLine,SetOptionsPacket,SetSelectedNotebook,%
SetSpeechParametersPacket,%
SetValue,ShortestMatch,ShowAutoStyles,ShowCellBracket,%
ShowCellLabel,ShowCellTags,ShowClosedCellArea,ShowContents,%
ShowCursorTracker,ShowGroupOpenCloseIcon,ShowPageBreaks,ShowSelection,%
ShowShortBoxForm,ShowSpecialCharacters,ShowStringCharacters,%
ShrinkWrapBoundingBox,%
SingleLetterItalics,SingularityDepth,SingularValueDecomposition,%
SingularValueList,%
SinhIntegral,Smaller,Socket,SolveDelayed,%
SoundAndGraphics,Sow,Space,SpaceForm,%
SpanAdjustments,SpanCharacterRounding,SpanLineThickness,SpanMaxSize,%
SpanMinSize,SpanningCharacters,SpanSymmetric,Sparse,%
SparseArray,SpeakTextPacket,SpellingDictionaries,SpellingDictionariesPath,%
SpellingOptions,SpellingSuggestionsPacket,Spherical,Split,%
SqrtBox,SqrtBoxOptions,StandardDeviation,StandardForm,%
StartingStepSize,StartOfLine,StartOfString,StartupSound,%
StepMonitor,StieltjesGamma,StoppingTest,StringCases,%
StringCount,StringExpression,StringFreeQ,StringQ,%
StringReplaceList,StringReplacePart,StringSplit,StripBoxes,%
StripWrapperBoxes,StructuredSelection,StruveH,StruveL,%
StyleBox,StyleBoxAutoDelete,StyleBoxOptions,StyleData,%
StyleDefinitions,StyleForm,StyleMenuListing,StyleNameDialogSettings,%
StylePrint,StyleSheetPath,Subresultants,SubscriptBox,%
SubscriptBoxOptions,Subsets,Subsuperscript,SubsuperscriptBox,%
SubsuperscriptBoxOptions,SubtractFrom,SubValues,SugarCube,%
SuperscriptBox,SuperscriptBoxOptions,SuspendPacket,SylvesterMatrix,%
SymbolName,Syntax,SyntaxForm,SyntaxPacket,%
SystemException,SystemHelpPath,SystemStub,Tab,%
TabFilling,TabSpacings,TagBox,TagBoxOptions,%
TaggingRules,TagStyle,TargetFunctions,TemporaryVariable,%
TensorQ,TeXSave,TextAlignment,TextBoundingBox,%
TextData,TextJustification,TextLine,TextPacket,%
TextParagraph,TextRendering,TextStyle,ThisLink,%
TimeConstraint,TimeVariable,TitleGrouping,ToBoxes,%
ToColor,ToFileName,Toggle,ToggleFalse,%
Tolerance,TooBig,Top,ToRadicals,%
Total,Tr,TraceAction,TraceInternal,%
TraceLevel,TraditionalForm,TraditionalFunctionNotation,TraditionalNotation,%
TraditionalOrder,TransformationFunctions,TransparentColor,Trapezoidal,%
TrigExpand,TrigFactor,TrigFactorList,TrigReduce,%
TrigToExp,Tuples,UnAlias,Underflow,%
Underoverscript,UnderoverscriptBox,UnderoverscriptBoxOptions,Underscript,%
UnderscriptBox,UnderscriptBoxOptions,UndocumentedTestFEParserPacket,%
UndocumentedTestGetSelectionPacket,%
UnitStep,Up,URL,Using,%
V2Get,Value,ValueBox,ValueBoxOptions,%
ValueForm,Variance,Verbatim,Verbose,%
VerboseConvertToPostScriptPacket,VerifyConvergence,VerifySolutions,Version,%
VersionNumber,Vertical,VerticalForm,ViewPointSelectorSettings,%
Visible,VisibleCell,WeierstrassHalfPeriods,WeierstrassInvariants,%
WeierstrassSigma,WeierstrassZeta,White,Whitespace,%
WhitespaceCharacter,WindowClickSelect,WindowElements,WindowFloating,%
WindowFrame,WindowFrameElements,WindowMargins,WindowMovable,%
WindowSize,WindowTitle,WindowToolbars,WindowWidth,%
WordBoundary,WordCharacter,WynnDegree,XMLElement},%
morendkeywords={$,$AddOnsDirectory,$AnimationDisplayFunction,%
$AnimationFunction,%
$Assumptions,$BaseDirectory,$BoxForms,$ByteOrdering,%
$CharacterEncoding,$ConditionHold,$CurrentLink,$DefaultPath,%
$ExportEncodings,$ExportFormats,$FormatType,$FrontEnd,%
$HistoryLength,$HomeDirectory,$ImportEncodings,$ImportFormats,%
$InitialDirectory,$InstallationDate,$InstallationDirectory,%
$InterfaceEnvironment,%
$LaunchDirectory,$LicenseExpirationDate,$LicenseID,$LicenseProcesses,%
$LicenseServer,$MachineDomain,$MaxExtraPrecision,$MaxLicenseProcesses,%
$MaxNumber,$MaxPiecewiseCases,$MaxPrecision,$MaxRootDegree,%
$MinNumber,$MinPrecision,$NetworkLicense,$NumberMarks,%
$Off,$OutputForms,$ParentLink,$ParentProcessID,%
$PasswordFile,$PathnameSeparator,$PreferencesDirectory,$PrintForms,%
$PrintLiteral,$ProcessID,$ProcessorType,$ProductInformation,%
$ProgramName,$PSDirectDisplay,$RandomState,$RasterFunction,%
$RootDirectory,$SetParentLink,$SoundDisplay,$SuppressInputFormHeads,%
$SystemCharacterEncoding,$SystemID,$TemporaryPrefix,$TextStyle,%
$TopDirectory,$TraceOff,$TraceOn,$TracePattern,%
$TracePostAction,$TracePreAction,$UserAddOnsDirectory,$UserBaseDirectory,%
$UserName,Constant,Flat,HoldAll,%
HoldAllComplete,HoldFirst,HoldRest,Listable,%
Locked,NHoldAll,NHoldFirst,NHoldRest,%
NumericFunction,OneIdentity,Orderless,Protected,%
ReadProtected,SequenceHold},%
}%
% \end{macrocode}
% \begin{macrocode}
%%
%% 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}%
}%
% \end{macrocode}
% \begin{macrocode}
\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]%
% \end{macrocode}
% \begin{macrocode}
%</lang1>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Mercury}
%
% \lstthanks{Dominique~de~Waleffe}{ddw@miscrit.be}{1997/11/24} mailed me the
% data and \lstthanks{Ralph~Becket}{rbeck@microsoft.com}{2001/05/01} extended
% the definition.
% \begingroup
% \begin{macrocode}
%<*lang2>
% \end{macrocode}
% \begin{macrocode}
%%
%% Mercury definition (c) 1997 Dominique de Waleffe
%% Extended (c) 2001 Ralph Becket
%%
\lst@definelanguage{Mercury}%
{otherkeywords={::,->,-->,--->,:-,==,=>,<=,<=>},%
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]%
% \end{macrocode}
% \begin{macrocode}
%</lang2>
% \end{macrocode}
% \endgroup
%
%
% \subsection{MetaPost}
%
% \lstthanks{Uwe~Siart}{uwe.siart@ei.tum.de}{2003/03/28} provided the
% keywords for a previous version. The current language definition comes
% from \lstthanks{Brooks~Moses}{}{2004/08/07}.
% \begingroup
% \begin{macrocode}
%<*lang3>
% \end{macrocode}
% \begin{macrocode}
%%
%% 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]%
% \end{macrocode}
% \begin{macrocode}
%</lang3>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Miranda}
%
% Thanks to \lstthanks{Peter~Bartke}{bartke@inf.fu-berlin.de}{1999/01/30}
% for providing the definition.
% \begingroup
% \begin{macrocode}
%<*lang2>
% \end{macrocode}
% \begin{macrocode}
%%
%% 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]%
% \end{macrocode}
% \begin{macrocode}
%</lang2>
% \end{macrocode}
% \endgroup
%
%
%
% \subsection{Mizar}
%
% As you can read below, \lstthanks{Adam~Grabowski}{adam@mizar.org}
% {2003/03/29} provided this language definition.
% \begingroup
% \begin{macrocode}
%<*lang3>
% \end{macrocode}
% \begin{macrocode}
%%
%% 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]%
% \end{macrocode}
% \begin{macrocode}
%</lang3>
% \end{macrocode}
% \endgroup
%
%
% \subsection{ML}
%
% Thanks to \lstthanks{Torben~Hoffmann}{toho@it.dtu.dk}{1999/02/18} for
% providing the definition.
% \begingroup
% \begin{macrocode}
%<*lang2>
% \end{macrocode}
% \begin{macrocode}
%%
%% 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]%
% \end{macrocode}
% \begin{macrocode}
%</lang2>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Modula-2}
%
% Took data from
% \begin{itemize}
% \item
% \textsc{Niklaus Wirth}: \textbf{Programmieren in Modula-2},
% \"Ubers.\ Guido Pfeiffer;
% 2.\ Auflage -- Berlin; Heidelberg; New York; London; Paris; Tokyo;
% Hong Kong: Springer, 1991;
% ISBN 3-540-51689-1.
% \end{itemize}
% \begingroup
% \begin{macrocode}
%<*lang3>
% \end{macrocode}
% \begin{macrocode}
\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]%
% \end{macrocode}
% \begin{macrocode}
%</lang3>
% \end{macrocode}
% \endgroup
%
%
% \subsection{MuPAD}
%
% This definition was provided by \lstthanks{Christopher~Creutzig}
% {ccr@mupad.de}{2002/10/15}. Again thanks to \lsthelper{Ulrike Fischer}
% {-}{2004/04/23}{Re: Bug in listings.sty} for pointing to a missing |@|
% in |\lstdefinelanguage|.
% \begingroup
% \begin{macrocode}
%<*lang3>
% \end{macrocode}
% \begin{macrocode}
\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]
% \end{macrocode}
% \begin{macrocode}
%</lang3>
% \end{macrocode}
% \endgroup
%
%
% \subsection{NASTRAN}
%
% \begingroup
% \begin{macrocode}
%<*lang3>
% \end{macrocode}
% The definition is from \lsthelper{Jeffrey Ratcliffe}
% {Jeffrey.Ratcliffe@m.eads.net}{2002/02/21}{}---except the
% \texttt{MoreSelectCharTable} part which simulates the keyword
% \texttt{BEGIN BULK}.
% \begin{macrocode}
\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]%
% \end{macrocode}
% \begin{macrocode}
%</lang3>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Oberon-2}
%
% \begingroup
% \begin{macrocode}
%<*lang3>
% \end{macrocode}
% \begin{macrocode}
\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]%
% \end{macrocode}
% \begin{macrocode}
%</lang3>
% \end{macrocode}
% \endgroup
%
%
% \subsection{OCL}
%
% This definition is based on chapter 7 of the OMG UML standard version 1.3:
% \begin{itemize}
% \item
% \textsc{OMG}:
% \textbf{OMG Unified Modeling Language Specification};
% {\copyright} 1999 OMG;
% Available at \texttt{ftp://ftp.omg.org/pub/docs/ad/99-06-08.pdf}.
% \end{itemize}%
% This language is due to \lstthanks{Achim~D.~Brucker}
% {brucker@informatik.uni-freiburg.de}{2000/08/14}.
%
% \begingroup
% \begin{macrocode}
%<*lang3>
% \end{macrocode}
% \begin{macrocode}
%%
%% 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).
%%
% \end{macrocode}
% First we define are very decorative style. In the OMG standard only the
% boolean (infix (?)) operations are highlighted, but I think all OCL-defined
% operations should be highlighted, because they are \emph{guaranteed} to be
% side-effect-free (in OCL only side effect free evaluations or path
% expressions are allowed).
% \begin{macrocode}
\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}%
}%
% \end{macrocode}
% Remark: "isQuery" is not real OCL, but a important attribute of the
% underlying UML model.
%
% The dialect called \texttt{OMG} is a very spare version. If you use
% this variant with bold style for first and second order keywords you
% get the look and feel of the OMG standard. First order keywords are the
% OCL context declarations (see section 7.3 of the OMG standard):
% \begin{macrocode}
\lst@definelanguage[OMG]{OCL}%
{morekeywords={context,pre,inv,post},%
% \end{macrocode}
% Second order keywords are the operation which are defined for type
% Boolean (see pages 7-34/35 of the OMG standard) and the let-operation
% (in principle these are the infix operations):
% \begin{macrocode}
ndkeywords={or,xor,and,not,implies,if,then,else,endif},%
% \end{macrocode}
% Third order keywords are the basic data types as declared in section 7.4 of
% the OMG standard:
% \begin{macrocode}
morekeywords=[3]{Boolean,Integer,Real,String,Set,Sequence,Bag,%
OclType,OclAny,OclExpression,Enumeration,Collection,},%
sensitive=t,%
morecomment=[l]--,%
morestring=[d]'%
}[keywords,comments,strings]%
% \end{macrocode}
% After a bug report by \lsthelper{Martin~S\"u\ss kraut}{Edon.Myder@web.de}
% {2003/01/30}{morerdkeywords doesn't exist any more} \texttt{morerdkeywords}
% has been changed to the correct optional argument \texttt{[3]}.
% \begin{macrocode}
%</lang3>
% \end{macrocode}
% \endgroup
%
%
% \subsection{Octave}
%
% \begingroup
% \begin{macrocode}
%<*lang1>
% \end{macrocode}
% As you can read below the definition is due to \lstthanks{Ulrich~G.~Wortmann}
% {uliw@erdw.ethz.ch}{2002/02/18}{}. Additions due to \lstthanks{Sebastian~%
% Schubert}{-}{2006/05/11}.
% \begin{macrocode}
%%
%% Octave definition (c) 2001,2002 Ulrich G. Wortmann
%%
\lst@definelanguage{Octave}%
{morekeywords={gt,lt,amp,abs,acos,acosh,acot,acoth,acsc,acsch,%