%%
%% This is file `lstlang2.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% lstdrvrs.dtx  (with options: `lang2')
%% 
%% 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>.
%%
\ProvidesFile{lstlang2.sty}
    [2004/09/05 1.3 listings language file]
%%
%% Abap definition by Knut Lickert
%%
\lst@definelanguage[R/3 6.10]{ABAP}[R/3 4.6C]{ABAP}%
  {morekeywords={try,endtry},%
  }[keywords,comments,strings]
\lst@definelanguage[R/3 4.6C]{ABAP}[R/3 3.1]{ABAP}%
  {morekeywords={method,ref,class,create,object,%
        methods,endmethod,private,protected,public,section,%
        catch,system-exceptions,endcatch,%
        },%
   moreprocnamekeys={class},%
   literate={->}{{$\rightarrow$}}1{=>}{{$\Rightarrow$}}1,%
  }[keywords,comments,strings,procnames]
\lst@definelanguage[R/3 3.1]{ABAP}[R/2 5.0]{ABAP}{}%
\lst@definelanguage[R/2 5.0]{ABAP}%
  {sensitive=f,%
   procnamekeys={report,program,form,function,module},%
   morekeywords={*,add,after,alias,analyzer,and,append,appending,area,assign,at,%
        authority-check,before,binary,blank,break-point,calendar,call,%
        case,change,changing,check,clear,cnt,co,collect,commit,common,%
        component,compute,condense,corresponding,cos,cp,cs,currency-conversion,%
        cursor,data,database,dataset,decimals,define,delete,deleting,dequeue,%
        describe,detail,dialog,directory,div,divide,do,documentation,%
        during,dynpro,else,end-of-page,end-of-selection,endat,endcase,%
        enddo,endfor,endform,endif,endloop,endmodule,endselect,%
        endwhile,enqueue,exceptions,exit,exp,export,exporting,extract,%
        field,fields,field-groups,field-symbols,find,for,form,format,free,%
        from,function,generating,get,giving,hide,id,if,import,%
        importing,in,incl,include,initial,initialization,input,insert,%
        interrupt,into,is,language,leave,leading,left-justified,like,line,lines,line-count,
        line-selection,list-processing,load,local,log,logfile,loop,%
        margin,mark,mask,memory,menue,message,mod,modify,module,move,%
        move-text,multiply,na,new,new-line,new-page,no-gaps,np,ns,%
        number,obligatory,occurs,of,on,or,others,output,parameter,%
        parameters,parts,perform,pf-status,places,position,process,%
        raise,raising,ranges,read,refresh,refresh-dynpro,reject,remote,%
        replace,report,reserve,reset,restart,right-justified,run,screen,scroll,search,%
        segments,select,select-options,selection-screen,set,shift,sin,%
        single,sqrt,start-of-selection,statement,structure,submit,%
        subtract,summary,summing,suppress,system,table,tables,task,%
        text,time,to,top-of-page,trace,transaction,transfer,%
        transfer-dynpro,translate,type,unpack,update,user-command,%
        using,value,when,where,while,window,with,workfile,write,},%
   morecomment=[l]",%
   morecomment=[f][commentstyle][0]*,%
   morestring=[d]'%
  }[keywords,comments,strings,procnames]
\lst@definelanguage[R/2 4.3]{ABAP}[R/2 5.0]{ABAP}%
  {deletekeywords={function,importing,exporting,changing,exceptions,%
        raise,raising}%
  }[keywords,comments,strings]
%%
%% Corba IDL definition (c) 1999 Jens T. Berger Thielemann
%%
\lst@definelanguage[CORBA]{IDL}%
  {morekeywords={any,attribute,boolean,case,char,const,context,default,%
      double,enum,exception,fixed,float,in,inout,interface,long,module,%
      native,Object,octet,oneway,out,raises,readonly,sequence,short,%
      string,struct,switch,typedef,union,unsigned,void,wchar,wstring,%
      FALSE,TRUE},%
   sensitive,%
   moredirectives={define,elif,else,endif,error,if,ifdef,ifndef,line,%
      include,pragma,undef,warning},%
   moredelim=*[directive]\#,%
   morecomment=[l]//,%
   morecomment=[s]{/*}{*/},%
   morestring=[b]"%
  }[keywords,comments,strings,directives]%
%%
%% (Objective) Caml definition (c) 1999 Patrick Cousot
%%
%% Objective CAML and Caml light are freely available, together with a
%% reference manual, at URL ftp.inria.fr/lang/caml-light for the Unix,
%% Windows and Macintosh OS operating systems.
%%
\lst@definelanguage[Objective]{Caml}[light]{Caml}
  {deletekeywords={not,prefix,value,where},%
   morekeywords={assert,asr,class,closed,constraint,external,false,%
      functor,include,inherit,land,lazy,lor,lsl,lsr,lxor,method,mod,%
      module,new,open,parser,private,sig,struct,true,val,virtual,when,%
      object,ref},% TH
  }%
\lst@definelanguage[light]{Caml}
  {morekeywords={and,as,begin,do,done,downto,else,end,exception,for,%
      fun,function,if,in,let,match,mutable,not,of,or,prefix,rec,then,%
      to,try,type,value,where,while,with},%
   sensitive,%
   morecomment=[n]{(*}{*)},%
   morestring=[b]",%
   moredelim=*[directive]\#,%
   moredirectives={open,close,include}%
  }[keywords,comments,strings,directives]%
\lst@definelanguage[ibm]{Cobol}[1985]{Cobol}%
  {morekeywords={ADDRESS,BEGINNING,COMP-3,COMP-4,COMPUTATIONAL,%
      COMPUTATIONAL-3,COMPUTATIONAL-4,DISPLAY-1,EGCS,EJECT,ENDING,%
      ENTRY,GOBACK,ID,MORE-LABELS,NULL,NULLS,PASSWORD,RECORDING,%
      RETURN-CODE,SERVICE,SKIP1,SKIP2,SKIP3,SORT-CONTROL,SORT-RETURN,%
      SUPPRESS,TITLE,WHEN-COMPILED},%
  }%
\lst@definelanguage[1985]{Cobol}[1974]{Cobol}%
  {morekeywords={ALPHABET,ALPHABETIC-LOWER,ALPHABETIC-UPPER,%
      ALPHANUMERIC,ALPHANUMERIC-EDITED,ANY,CLASS,COMMON,CONTENT,%
      CONTINUE,DAY-OF-WEEK,END-ADD,END-CALL,END-COMPUTE,END-DELETE,%
      END-DIVIDE,END-EVALUATE,END-IF,END-MULTIPLY,END-PERFORM,END-READ,%
      END-RECEIVE,END-RETURN,END-REWRITE,END-SEARCH,END-START,%
      END-STRING,END-SUBTRACT,END-UNSTRING,END-WRITE,EVALUATE,EXTERNAL,%
      FALSE,GLOBAL,INITIALIZE,NUMERIC-EDITED,ORDER,OTHER,%
      PACKED-DECIMAL,PADDING,PURGE,REFERENCE,RELOAD,REPLACE,STANDARD-1,%
      STANDARD-2,TEST,THEN,TRUE},%
  }%
\lst@definelanguage[1974]{Cobol}%
  {morekeywords={ACCEPT,ACCESS,ADD,ADVANCING,AFTER,ALL,ALPHABETIC,ALSO,%
      ALTER,ALTERNATE,AND,ARE,AREA,AREAS,ASCENDING,ASSIGN,AT,AUTHOR,%
      BEFORE,BINARY,BLANK,BLOCK,BOTTOM,BY,CALL,CANCEL,CD,CF,CH,%
      CHARACTER,CHARACTERS,CLOCK-UNITS,CLOSE,COBOL,CODE,CODE-SET,%
      COLLATING,COLUMN,COMMA,COMMUNICATION,COMP,COMPUTE,CONFIGURATION,%
      CONTAINS,CONTROL,CONTROLS,CONVERTING,COPY,CORR,CORRESPONDING,%
      COUNT,CURRENCY,DATA,DATE,DATE-COMPILED,DATE-WRITTEN,DAY,DE,%
      DEBUG-CONTENTS,DEGUB-ITEM,DEBUG-LINE,DEBUG-NAME,DEBUG-SUB1,%
      DEBUG-SUB2,DEBUG-SUB3,DEBUGGING,DECIMAL-POINT,DECLARATIVES,%
      DELETE,DELIMITED,DELIMITER,DEPENDING,DESCENDING,DESTINATION,%
      DETAIL,DISABLE,DISPLAY,DIVIDE,DIVISION,DOWN,DUPLICATES,DYNAMIC,%
      EGI,ELSE,EMI,ENABLE,END,END-OF-PAGE,ENTER,ENVIRONMENT,EOP,EQUAL,%
      ERROR,ESI,EVERY,EXCEPTION,EXIT,EXTEND,FD,FILE,FILE-CONTROL,%
      FILLER,FINAL,FIRST,FOOTING,FOR,FROM,GENERATE,GIVING,GO,GREATER,%
      GROUP,HEADING,HIGH-VALUE,HIGH-VALUES,I-O,I-O-CONTROL,%
      IDENTIFICATION,IF,IN,INDEX,INDEXED,INDICATE,INITIAL,INITIATE,%
      INPUT,INPUT-OUTPUT,INSPECT,INSTALLATION,INTO,INVALID,IS,JUST,%
      JUSTIFIED,KEY,LABEL,LAST,LEADING,LEFT,LENGTH,LESS,LIMIT,LIMITS,%
      LINAGE,LINAGE-COUNTER,LINE,LINE-COUNTER,LINES,LINKAGE,LOCK,%
      LOW-VALUE,LOW-VALUES,MEMORY,MERGE,MESSAGE,MODE,MODULES,MOVE,%
      MULTIPLE,MULTIPLY,NATIVE,NEGATIVE,NEXT,NO,NOT,NUMBER,NUMERIC,%
      OBJECT-COMPUTER,OCCURS,OF,OFF,OMITTED,ON,OPEN,OPTIONAL,OR,%
      ORGANIZATION,OUTPUT,OVERFLOW,PAGE,PAGE-COUNTER,PERFORM,PF,PH,PIC,%
      PICTURE,PLUS,POINTER,POSITION,PRINTING,POSITIVE,PRINTING,%
      PROCEDURE,PROCEDURES,PROCEED,PROGRAM,PROGRAM-ID,QUEUE,QUOTE,%
      QUOTES,RANDOM,RD,READ,RECEIVE,RECORD,RECORDING,RECORDS,REDEFINES,%
      REEL,REFERENCES,RELATIVE,RELEASE,REMAINDER,REMOVAL,RENAMES,%
      REPLACING,REPORT,REPORTING,REPORTS,RERUN,RESERVE,RESET,RETURN,%
      REVERSED,REWIND,REWRITE,RF,RH,RIGHT,ROUNDED,RUN,SAME,SD,SEARCH,%
      SECTION,SECURITY,SEGMENT,SEGMENT-LIMIT,SELECT,SEND,SENTENCE,%
      SEPARATE,SEQUENCE,SEQUENTIAL,SET,SIGN,SIZE,SORT,SORT-MERGE,%
      SOURCE,SOURCE-COMPUTER,SPACE,SPACES,SPECIAL-NAMES,STANDARD,START,%
      STATUS,STOP,STRING,SUB-QUEUE-1,SUB-QUEUE-2,SUB-QUEUE-3,SUBTRACT,%
      SUM,SYMBOLIC,SYNC,SYNCHRONIZED,TABLE,TALLYING,TAPE,TERMINAL,%
      TERMINATE,TEXT,THAN,THROUGH,THRU,TIME,TIMES,TO,TOP,TRAILING,TYPE,%
      UNIT,UNSTRING,UNTIL,UP,UPON,USAGE,USE,USING,VALUE,VALUES,VARYING,%
      WHEN,WITH,WORDS,WORKING-STORAGE,WRITE,ZERO,ZEROES,ZEROS},%
   alsodigit=-,%
   sensitive=f,% ???
   morecomment=[f][commentstyle][6]*,%
   morestring=[d]"% ??? doubled
  }[keywords,comments,strings]%
\lst@definelanguage{Delphi}%
  {morekeywords={and,as,asm,array,begin,case,class,const,constructor,%
      destructor,div,do,downto,else,end,except,exports,file,finally,%
      for,function,goto,if,implementation,in,inherited,inline,%
      initialization,interface,is,label,library,mod,nil,not,object,of,%
      or,packed,procedure,program,property,raise,record,repeat,set,%
      shl,shr,string,then,to,try,type,unit,until,uses,var,while,with,%
      xor,%
      absolute,abstract,assembler,at,cdecl,default,dynamic,export,%
      external,far,forward,index,name,near,nodefault,on,override,%
      private,protected,public,published,read,resident,storedDir,%
      virtual,write},%
   morendkeywords={Abs,AddExitProc,Addr,AllocMem,AnsiCompareStr,%
      AnsiCompareText,AnsiLowerCase,AnsiUpperCase,Append,AppendStr,%
      ArcTan,AssignCrt,Assigned,AssignFile,BlockRead,BlockWrite,Break,%
      ChangeFileExt,ChDir,Chr,CloseFile,ClrEol,ClrScr,Concat,Continue,%
      Copy,Cos,CSeg,CursorTo,Date,DateTimeToFileDate,DateTimeToStr,%
      DateTimeToString,DateToStr,DayOfWeek,Dec,DecodeDate,DecodeTime,%
      Delete,DeleteFile,DiskFree,DiskSize,Dispose,DisposeStr,%
      DoneWinCrt,DSeg,EncodeDate,EncodeTime,Eof,Eoln,Erase,Exclude,%
      Exit,Exp,ExpandFileName,ExtractFileExt,ExtractFileName,%
      ExtractFilePath,FileAge,FileClose,FileDateToDateTime,FileExists,%
      FileGetAttr,FileGetDate,FileOpen,FilePos,FileRead,FileSearch,%
      FileSeek,FileSetAttr,FileSetDate,FileSize,FillChar,FindClose,%
      FindFirst,FindNext,FloatToDecimal,FloatToStrF,FloatToStr,%
      FloatToText,FloatToTextFmt,Flush,FmtLoadStr,FmtStr,Format,%
      FormatBuf,FormatDateTime,FormatFloat,Frac,Free,FreeMem,GetDir,%
      GetMem,GotoXY,Halt,Hi,High,Inc,Include,InitWinCrt,Insert,Int,%
      IntToHex,IntToStr,IOResult,IsValidIdent,KeyPressed,Length,Ln,Lo,%
      LoadStr,Low,LowerCase,MaxAvail,MemAvail,MkDir,Move,New,NewStr,%
      Now,Odd,Ofs,Ord,ParamCount,ParamStr,Pi,Pos,Pred,Ptr,Random,%
      Randomize,Read,ReadBuf,ReadKey,Readln,ReAllocMem,Rename,%
      RenameFile,Reset,Rewrite,RmDir,Round,RunError,ScrollTo,Seek,%
      SeekEof,SeekEoln,Seg,SetTextBuf,Sin,SizeOf,SPtr,Sqr,Sqrt,SSeg,%
      Str,StrCat,StrComp,StrCopy,StrDispose,StrECopy,StrEnd,StrFmt,%
      StrLCat,StrIComp,StrLComp,StrLCopy,StrLen,StrLFmt,StrLIComp,%
      StrLower,StrMove,StrNew,StrPas,StrPCopy,StrPos,StrScan,StrRScan,%
      StrToDate,StrToDateTime,StrToFloat,StrToInt,StrToIntDef,%
      StrToTime,StrUpper,Succ,Swap,TextToFloat,Time,TimeToStr,%
      TrackCursor,Trunc,Truncate,TypeOf,UpCase,UpperCase,Val,WhereX,%
      WhereY,Write,WriteBuf,WriteChar,Writeln},%
   sensitive=f,%
   morecomment=[s]{(*}{*)},%
   morecomment=[s]{\{}{\}},%
   morecomment=[l]{//},% 2001 Christian Gudrian
   morestring=[d]'%
  }[keywords,comments,strings]%
\lst@definelanguage{Eiffel}%
  {morekeywords={alias,all,and,as,BIT,BOOLEAN,CHARACTER,check,class,%
      creation,Current,debug,deferred,do,DOUBLE,else,elseif,end,%
      ensure,expanded,export,external,false,feature,from,frozen,if,%
      implies,indexing,infix,inherit,inspect,INTEGER,invariant,is,%
      like,local,loop,NONE,not,obsolete,old,once,or,POINTER,prefix,%
      REAL,redefine,rename,require,rescue,Result,retry,select,%
      separate,STRING,strip,then,true,undefine,unique,until,variant,%
      when,xor},%
   sensitive,%
   morecomment=[l]--,%
   morestring=[d]",%
  }[keywords,comments,strings]%
%%
%% Euphoria definition (c) 1998 Detlef Reimers
%%
\lst@definelanguage{Euphoria}%
  {morekeywords={abort,and,and_bits,append,arctan,atom,by,call,%
      call_proc,call_func,c_proc,c_func,clear_screen,close,%
      command_line,compare,constant,cos,do,date,else,elsif,end,exit,%
      find,floor,for,function,getc,getenv,get_key,gets,global,%
      get_pixel,if,include,integer,length,log,match,machine_func,%
      machine_proc,mem_copy,mem_set,not,not_bits,or,object,open,%
      or_bits,procedure,puts,position,prepend,print,printf,power,peek,%
      poke,pixel,poke4,peek4s,peek4u,return,rand,repeat,remainder,%
      routine_id,sequence,sqrt,sin,system,sprintf,then,type,to,time,%
      trace,tan,while,with,without,xor,xor_bits},%
   sensitive,%
   morecomment=[l]--,%
   morestring=[d]',%
   morestring=[d]"%
  }[keywords,comments,strings]%
%%
%% Guarded Command Language (GCL)  definition
%% (c) 2002 Mark van Eijk
%%
\lst@definelanguage{GCL}%
  {morekeywords={const,con,var,array,of,skip,if,fi,do,od,div,mod},%
   literate={|[}{\ensuremath{|\hskip -0.1em[}}2%
            {]|}{\ensuremath{]\hskip -0.1em|}}2%
    {[]}{\ensuremath{[\hskip -0.1em]}}2%
    {->}{\ensuremath{\rightarrow}~}2%
    {==}{\ensuremath{\equiv}~}2%
    {>=}{\ensuremath{\geq}~}2%
    {<=}{\ensuremath{\leq}~}2%
    {/\\}{\ensuremath{\land}~}2%
    {\\/}{\ensuremath{\lor}~}2%
    {!}{\ensuremath{\lnot}}1%
    {!=}{\ensuremath{\neq}~}2%
    {max}{\ensuremath{\uparrow}}1%
    {min}{\ensuremath{\downarrow}}1,%
   sensitive=f,%
   morecomment=[s]{\{}{\}},%
   morestring=[d]'%
  }[keywords,comments,strings]%
%%
%% gnuplot definition (c) Christoph Giess
%%
\lst@definelanguage{Gnuplot}%
  {keywords={abs,acos,acosh,arg,asin,asinh,atan,atan2,atanh,besj0,%
       besj1,besy0,besy1,ceil,cos,cosh,erf,erfc,exp,floor,gamma,ibeta,%
       inverf,igamma,imag,invnorm,int,lgamma,log,log10,norm,rand,real,%
       sgn,sin,sinh,sqrt,tan,tanh,column,tm_hour,tm_mday,tm_min,tm_mon,%
       tm_sec,tm_wday,tm_yday,tm_year,valid,cd,call,clear,exit,fit,%
       help,if,load,pause,plot,print,pwd,quit,replot,reread,reset,save,%
       set,show,shell,splot,test,update,angles,arrow,autoscale,border,%
       boxwidth,clabel,clip,cntrparam,contour,data,dgrid3d,dummy,%
       format,function,functions,grid,hidden3d,isosamples,key,keytitle,%
       label,logscale,mapping,offsets,output,parametric,pointsize,%
       polar,rrange,samples,size,style,surface,terminal,tics,time,%
       timefmt,title,trange,urange,variables,view,vrange,xdata,xlabel,%
       xmargin,xrange,xtics,mxtics,mytics,xdtics,xmtics,xzeroaxis,%
       ydata,ylabel,yrange,ytics,ydtics,ymtics,yzeroaxis,zdata,zero,%
       zeroaxis,zlabel,zrange,ztics,zdtics,zmtics,timefm,using,title,%
       with,index,every,thru,smooth},%
   sensitive,%
   comment=[l]\#,%
   morestring=[b]",%
   morestring=[b]',%
  }[keywords,comments,strings]%
%%
%% Haskell98 as implemented in Hugs98. See http://www.haskell.org
%% All keywords from Prelude and Standard Libraries
%% (c) 1999 Peter Bartke
%%
\lst@definelanguage{Haskell}%
  {otherkeywords={=>},%
   morekeywords={abstype,if,then,else,case,class,data,default,deriving,%
      hiding,if,in,infix,infixl,infixr,import,instance,let,module,%
      newtype,of,qualified,type,where,do,AbsoluteSeek,AppendMode,%
      Array,BlockBuffering,Bool,BufferMode,Char,Complex,Double,Either,%
      FilePath,Float,Int,Integer,IO,IOError,Ix,LineBuffering,Maybe,%
      Ordering,NoBuffering,ReadMode,ReadWriteMode,ReadS,RelativeSeek,%
      SeekFromEnd,SeekMode,ShowS,StdGen,String,Void,Bounded,Enum,Eq,%
      Eval,ExitCode,exitFailure,exitSuccess,Floating,Fractional,%
      Functor,Handle,HandlePosn,IOMode,Integral,List,Monad,MonadPlus,%
      MonadZero,Num,Numeric,Ord,Random,RandomGen,Ratio,Rational,Read,%
      Real,RealFloat,RealFrac,Show,System,Prelude,EQ,False,GT,Just,%
      Left,LT,Nothing,Right,WriteMode,True,abs,accum,accumArray,%
      accumulate,acos,acosh,all,and,any,ap,appendFile,applyM,%
      approxRational,array,asTypeOf,asin,asinh,assocs,atan,atan2,atanh,%
      bounds,bracket,bracket_,break,catch,catMaybes,ceiling,chr,cis,%
      compare,concat,concatMap,conjugate,const,cos,cosh,curry,cycle,%
      decodeFloat,delete,deleteBy,deleteFirstsBy,denominator,%
      digitToInt,div,divMod,drop,dropWhile,either,elem,elems,elemIndex,%
      elemIndices,encodeFloat,enumFrom,enumFromThen,enumFromThenTo,%
      enumFromTo,error,even,exitFailure,exitWith,exp,exponent,fail,%
      filter,filterM,find,findIndex,findIndices,flip,floatDigits,%
      floatRadix,floatRange,floatToDigits,floor,foldl,foldM,foldl1,%
      foldr,foldr1,fromDouble,fromEnum,fromInt,fromInteger,%
      fromIntegral,fromJust,fromMaybe,fromRat,fromRational,%
      fromRealFrac,fst,gcd,genericLength,genericTake,genericDrop,%
      genericSplitAt,genericIndex,genericReplicate,getArgs,getChar,%
      getContents,getEnv,getLine,getProgName,getStdGen,getStdRandom,%
      group,groupBy,guard,hClose,hFileSize,hFlush,hGetBuffering,%
      hGetChar,hGetContents,hGetLine,hGetPosn,hIsClosed,hIsEOF,hIsOpen,%
      hIsReadable,hIsSeekable,hIsWritable,hLookAhead,hPutChar,hPutStr,%
      hPutStrLn,hPrint,hReady,hSeek,hSetBuffering,hSetPosn,head,%
      hugsIsEOF,hugsHIsEOF,hugsIsSearchErr,hugsIsNameErr,%
      hugsIsWriteErr,id,ioError,imagPart,index,indices,init,inits,%
      inRange,insert,insertBy,interact,intersect,intersectBy,%
      intersperse,intToDigit,ioeGetErrorString,ioeGetFileName,%
      ioeGetHandle,isAlreadyExistsError,isAlreadyInUseError,isAlpha,%
      isAlphaNum,isAscii,isControl,isDenormalized,isDoesNotExistError,%
      isDigit,isEOF,isEOFError,isFullError,isHexDigit,isIEEE,%
      isIllegalOperation,isInfinite,isJust,isLower,isNaN,%
      isNegativeZero,isNothing,isOctDigit,isPermissionError,isPrefixOf,%
      isPrint,isSpace,isSuffixOf,isUpper,isUserError,iterate,ixmap,%
      join,last,lcm,length,lex,lexDigits,lexLitChar,liftM,liftM2,%
      liftM3,liftM4,liftM5,lines,listArray,listToMaybe,log,logBase,%
      lookup,magnitude,makePolar,map,mapAccumL,mapAccumR,mapAndUnzipM,%
      mapM,mapM_,mapMaybe,max,maxBound,maximum,maximumBy,maybe,%
      maybeToList,min,minBound,minimum,minimumBy,mkPolar,mkStdGen,%
      mplus,mod,msum,mzero,negate,next,newStdGen,not,notElem,nub,nubBy,%
      null,numerator,odd,openFile,or,ord,otherwise,partition,phase,pi,%
      polar,pred,print,product,properFraction,putChar,putStr,putStrLn,%
      quot,quotRem,random,randomIO,randomR,randomRIO,randomRs,randoms,%
      rangeSize,read,readDec,readFile,readFloat,readHex,readInt,readIO,%
      readList,readLitChar,readLn,readParen,readOct,readSigned,reads,%
      readsPrec,realPart,realToFrac,recip,rem,repeat,replicate,return,%
      reverse,round,scaleFloat,scanl,scanl1,scanr,scanr1,seq,sequence,%
      sequence_,setStdGen,show,showChar,showEFloat,showFFloat,%
      showFloat,showGFloat,showInt,showList,showLitChar,showParen,%
      showSigned,showString,shows,showsPrec,significand,signum,sin,%
      sinh,snd,sort,sortBy,span,split,splitAt,sqrt,stderr,stdin,stdout,%
      strict,subtract,succ,sum,system,tail,tails,take,takeWhile,tan,%
      tanh,toEnum,toInt,toInteger,toLower,toRational,toUpper,transpose,%
      truncate,try,uncurry,undefined,unfoldr,union,unionBy,unless,%
      unlines,until,unwords,unzip,unzip3,unzip4,unzip5,unzip6,unzip7,%
      userError,when,words,writeFile,zero,zip,zip3,zip4,zip5,zip6,zip7,%
      zipWith,zipWithM,zipWithM_,zipWith3,zipWith4,zipWith5,zipWith6,%
      zipWith7},%
   sensitive,%
   morecomment=[l]--,%
   morecomment=[n]{\{-}{-\}},%
   morestring=[b]"%
  }[keywords,comments,strings]%
%%
%% IDL definition (c) 1998 Juergen Heim
%%
\lst@definelanguage{IDL}%
  {morekeywords={and,begin,case,common,do,else,end,endcase,endelse,%
      endfor,endif,endrep,endwhile,eq,for,function,ge,goto,gt,if,le,lt,%
      mod,ne,not,of,on_ioerror,or,pro,repeat,return,then,until,while,%
      xor,on_error,openw,openr,openu,print,printf,printu,plot,read,%
      readf,readu,writeu,stop},%
   sensitive=f,%
   morecomment=[l];,%
   morestring=[d]'%
  }[keywords,comments,strings]%
%%
%% Inform definition (c) 2003 Jonathan Sauer
%%
\lst@definelanguage{inform}{%
    % Language keywords
    morekeywords={breakdo,else,false,for,has,hasnt,if,%
                in,indirect,jump,notin,nothing,NULL,objectloop,ofclass,%
                private,property,provides,return,rfalse,rtrue,self,string,%
                switch,to,true,until,while,with,%
                creature,held,multiexcept,multiheld,multiinside,noun,number,%
                scope,topic},%
    %
    % Inform functions
    morekeywords=[2]{box,child,children,font,give,inversion,metaclass,move,%
                new_line,parent,print,print_ret,read,remove,restore,sibling,%
                save,spaces,quit,style,bold,underline,reverse,roman remaining,%
                create,destroy,recreate,copy},%
    %
    % Inform definitions
    morekeywords=[3]{Attribute,Array,Class,Constant,Default,End,Endif,Extend,%
                Global,Ifdef,Iffalse,Ifndef,Ifnot,Iftrue,Include,Object,%
                Property,Verb,Release,Serial,Statusline},%
    %
    % Library attributes
    morekeywords=[4]{absent,animate,clothing,concealed,container,door,edible,%
                enterable,female,general,light,lockable locked,male,moved,%
                neuter,on,open,openable,pluralname,proper,scenery,scored,%
                static,supporter,switchable,talkable,transparent,visited,%
                workflag,worn},%
    %
    % Libary properties
    morekeywords=[5]{n_to,s_to,e_to,w_to,ne_to,nw_to,se_to,sw_to,in_to,%
                out_to,u_to,d_to,add_to_scope,after,article,articles,before,%
                cant_go,capacity,daemon,describe,description,door_dir,door_to,%
                each_turn,found_in,grammar,initial,inside_description,invent,%
                life,list_together,name number,orders,parse_name,plural,%
                react_after,react_before,short_name,short_name_indef,time_left,%
                time_out,when_closed,when_open,when_on,when_off,%
                with_key},
    %
    % Library routines
    morekeywords=[6]{Achieved,AfterRoutines,AllowPushDir,Banner,ChangePlayer,%
                CommonAncestor,DictionaryLookup,GetGNAOfObject,HasLightSource,%
                IndirectlyContains,IsSeeThrough,Locale,LoopOverScope,LTI_Insert,%
                MoveFloatingObjects,NextWord,NextWordStopped,NounDomain,%
                ObjectIsUntouchable OffersLight,ParseToken,PlaceInScope,PlayerTo,%
                PronounNotice,PronounValue,ScopeWithin,SetPronoun,SetTime,%
                StartDaemon,StartTimer,StopDaemon,StopTimer,TestScope,TryNumber,%
                UnsignedCompare,WordAddress,WordInProperty,WordLength,%
                WriteListFrom,YesOrNo},%
    %
    % Library,entry points
    morekeywords=[7]{AfterLife,AfterPrompt,Amusing,BeforeParsing,ChooseObjects,%
                DarkToDark,DeathMessage,GamePostRoutine GamePreRoutine,%
                Initialise,InScope,LookRoutine,NewRoom,ParseNoun,ParseNumber,%
                ParserError,PrintRank,PrintTaskName,PrintVerb,TimePasses,%
                UnknownVerb},%
    %
    % Library constants
    morekeywords=[8]{NEWLINE_BIT,INDENT_BIT,FULLINV_BIT,ENGLISH_BIT,RECURSE_BIT,%
                ALWAYS_BIT,TERSE_BIT,PARTINV_BIT,DEFART_BIT,WORKFLAG_BIT,%
                ISARE_BIT,CONCEAL_BIT},%
    %
    % Library,meta actions
    morekeywords=[9]{Pronouns,Quit,Restart,Restore,Save,Verify,ScriptOn,ScriptOff,%
                NotifyOn,NotifyOff,Places,Objects,Score,FullScore,Version,LMode1,%
                LMode2,Lmode3},%
    %
    % Library,main actions
    morekeywords=[10]{Close,Disrobe,Drop,Eat,Empty,EmptyT,Enter,Examine,Exit,GetOff,%
                Give,Go,GoIn,Insert,Inv,InvTall,InvWide,Lock,Look,Open,PutOn,Remove,%
                Search,Show,SwitchOff,SwitchOn,Take,Transfer,Unlock VagueGo,%
                Wear},%
    %
    % Library,stub actions
    morekeywords=[11]{Answer,Ask,AskFor,Attack,Blow,Burn,Buy,Climb,Consult,Cut,Dig,%
                Drink,Fill,Jump,JumpOver,Kiss,Listen,LookUnder,Mild,No,Pray,Pull,%
                Push,PushDir,Rub,Set,SetTo,Sing,Sleep,Smell,,Sleep,Smell,Sorry,%
                Squeeze,Strong,Swim,Swing,Taste,Tell,Think,ThrowAt,Tie,Touch,Turn,%
                Wait,Wake,WakeOther,Wave,WaveHands,Yes},%
    %
    otherkeywords={->,-->},%
    sensitive=false,%
    morestring=[d]{"},%
    morecomment=[l]{!}%
  }[keywords,comments,strings]%
\lst@definelanguage{Lisp}%
  {morekeywords={abort,abs,acons,acos,acosh,adjoin,alphanumericp,alter,%
      append,apply,apropos,aref,arrayp,ash,asin,asinh,assoc,atan,atanh,%
      atom,bit,boole,boundp,break,butlast,byte,catenate,ceiling,cerror,%
      char,character,characterp,choose,chunk,cis,close,clrhash,coerce,%
      collect,commonp,compile,complement,complex,complexp,concatenate,%
      conjugate,cons,consp,constantp,continue,cos,cosh,cotruncate,%
      count,delete,denominator,describe,directory,disassemble,%
      documentation,dpb,dribble,ed,eighth,elt,enclose,endp,eq,eql,%
      equal,equalp,error,eval,evalhook,evenp,every,exp,expand,export,%
      expt,fboundp,fceiling,fdefinition,ffloor,fifth,fill,find,first,%
      float,floatp,floor,fmakunbound,format,fourth,fround,ftruncate,%
      funcall,functionp,gatherer,gcd,generator,gensym,gentemp,get,getf,%
      gethash,identity,imagpart,import,inspect,integerp,intern,%
      intersection,tively,isqrt,keywordp,last,latch,lcm,ldb,ldiff,%
      length,list,listen,listp,load,log,logand,logbitp,logcount,logeqv,%
      logior,lognand,lognor,lognot,logtest,logxor,macroexpand,%
      makunbound,map,mapc,mapcan,mapcar,mapcon,maphash,mapl,maplist,%
      mask,max,member,merge,min,mingle,minusp,mismatch,mod,namestring,%
      nbutlast,nconc,nintersection,ninth,not,notany,notevery,nreconc,%
      nreverse,nsublis,nsubst,nth,nthcdr,null,numberp,numerator,nunion,%
      oddp,open,packagep,pairlis,pathname,pathnamep,phase,plusp,%
      position,positions,pprint,previous,princ,print,proclaim,provide,%
      random,rassoc,rational,rationalize,rationalp,read,readtablep,%
      realp,realpart,reduce,rem,remhash,remove,remprop,replace,require,%
      rest,revappend,reverse,room,round,rplaca,rplacd,sbit,scan,schar,%
      search,second,series,set,seventh,shadow,signal,signum,sin,sinh,%
      sixth,sleep,some,sort,split,sqrt,streamp,string,stringp,sublis,%
      subseq,subseries,subsetp,subst,substitute,subtypep,svref,sxhash,%
      symbolp,tailp,tan,tanh,tenth,terpri,third,truename,truncate,%
      typep,unexport,unintern,union,until,values,vector,vectorp,warn,%
      write,zerop,and,assert,case,ccase,cond,ctypecase,decf,declaim,%
      defclass,defconstant,defgeneric,defmacro,defmethod,defpackage,%
      defparameter,defsetf,defstruct,deftype,defun,defvar,do,dolist,%
      dotimes,ecase,encapsulated,etypecase,flet,formatter,gathering,%
      incf,iterate,labels,let,locally,loop,macrolet,mapping,or,pop,%
      producing,prog,psetf,psetq,push,pushnew,remf,return,rotatef,%
      setf,shiftf,step,time,trace,typecase,unless,untrace,when},%
   sensitive,% ???
   alsodigit=-,%
   morecomment=[l];,%
   morecomment=[s]{\#|}{|\#},% 1997 Aslak Raanes
   morestring=[b]"%
  }[keywords,comments,strings]%
%%
%% AutoLISP/VisualLISP - Stefan Lagotzki, info@lagotzki.de
%%
\lst@definelanguage[Auto]{Lisp}%
  {morekeywords={abs,acad_colordlg,acad_helpdlg,acad_strlsort,%
      action_tile,add_list,alert,alloc,and,angle,angtof,angtos,append,%
      apply,arx,arxload,arxunload,ascii,assoc,atan,atof,atoi,atom,%
      atoms-family,autoarxload,autoload,Boole,boundp,caddr,cadr,car,%
      cdr,chr,client_data_tile,close,command,cond,cons,cos,cvunit,%
      defun,defun-q,defun-q-list-ref,defun-q-list-set,dictadd,dictnext,%
      dictremove,dictrename,dictsearch,dimx_tile,dimy_tile,distance,%
      distof,done_dialog,end_image,end_list,entdel,entget,entlast,%
      entmake,entmakex,entmod,entnext,entsel,entupd,eq,equal,*error*,%
      eval,exit,exp,expand,expt,fill_image,findfile,fix,float,foreach,%
      function,gc,gcd,get_attr,get_tile,getangle,getcfg,getcname,%
      getcorner,getdist,getenv,getfiled,getint,getkword,getorient,%
      getpoint,getreal,getstring,getvar,graphscr,grclear,grdraw,grread,%
      grtext,grvecs,handent,help,if,initdia,initget,inters,itoa,lambda,%
      last,layoutlist,length,list,listp,load,load_dialog,log,logand,%
      logior,lsh,mapcar,max,mem,member,menucmd,menugroup,min,minusp,%
      mode_tile,namedobjdict,nentsel,nentselp,new_dialog,not,nth,%
      null,numberp,open,or,osnap,polar,prin1,princ,print,progn,prompt,%
      quit,quote,read,read-char,read-line,redraw,regapp,rem,repeat,%
      reverse,rtos,set,set_tile,setcfg,setenv,setfunhelp,setq,%
      setvar,setview,sin,slide_image,snvalid,sqrt,ssadd,ssdel,ssget,%
      ssgetfirst,sslength,ssmemb,ssname,ssnamex,sssetfirst,startapp,%
      start_dialog,start_image,start_list,strcase,strcat,strlen,subst,%
      substr,tablet,tblnext,tblobjname,tblsearch,term_dialog,terpri,%
      textbox,textpage,textscr,trace,trans,type,unload_dialog,untrace,%
      vector_image,ver,vl-acad-defun,vl-acad-undefun,vl-arx-import,%
      vl-bb-ref,vl-bb-set,vl-catch-all-apply,%
      vl-catch-all-error-message,vl-catch-all-error-p,vl-cmdf,vl-consp,%
      vl-directory-files,vl-doc-export,vl-doc-import,vl-doc-ref,%
      vl-doc-set,vl-every,vl-exit-with-error,vl-exit-with-value,%
      vl-file-copy,vl-file-delete,vl-file-directory-p,vl-file-rename,%
      vl-file-size,vl-file-systime,vl-filename-base,%
      vl-filename-directory,vl-filename-extension,vl-filename-mktemp,%
      vl-get-resource,vl-list*,vl-list->string,%
      vl-list-exported-functions,vl-list-length,vl-list-loaded-vlx,%
      vl-load-all,vl-load-com,vl-load-reactors,vl-member-if,%
      vl-member-if-not,vl-position,vl-prin1-to-string,%
      vl-princ-to-string,vl-propagate,vl-registry-delete,%
      vl-registry-descendents,vl-registry-read,vl-registry-write,%
      vl-remove,vl-remove-if,vl-remove-if-not,vl-some,vl-sort,%
      vl-sort-i,vl-string->list,vl-string-elt,vl-string-left-trim,%
      vl-string-mismatch,vl-string-position,vl-string-right-trim,%
      vl-string-search,vl-string-subst,vl-string-translate,%
      vl-string-trim,vl-symbol-name,vl-symbol-value,vl-symbolp,%
      vl-unload-vlx,vl-vbaload,vl-vbarun,vl-vlx-loaded-p,vlax-3D-point,%
      vlax-add-cmd,vlax-create-object,vlax-curve-getArea,%
      vlax-curve-getDistAtParam,vlax-curve-getDistAtPoint,%
      vlax-curve-getEndParam,vlax-curve-getEndPoint,%
      vlax-curve-getParamAtDist,vlax-curve-getParamAtPoint,%
      vlax-curve-getPointAtDist,vlax-curve-getPointAtParam,%
      vlax-curve-getStartParam,vlax-curve-getStartPoint,%
      vlax-curve-isClosed,vlax-curve-isPeriodic,vlax-curve-isPlanar,%
      vlax-curve-getClosestPointTo,%
      vlax-curve-getClosestPointToProjection,vlax-curve-getFirstDeriv,%
      vlax-curve-getSecondDeriv,vlax-dump-object,%
      vlax-ename->vla-object,vlax-erased-p,vlax-for,%
      vlax-get-acad-object,vlax-get-object,vlax-get-or-create-object,%
      vlax-get-property,vlax-import-type-library,vlax-invoke-method,%
      vlax-ldata-delete,vlax-ldata-get,vlax-ldata-list,vlax-ldata-put,%
      vlax-ldata-test,vlax-make-safearray,vlax-make-variant,%
      vlax-map-collection,vlax-method-applicable-p,%
      vlax-object-released-p,vlax-product-key,%
      vlax-property-available-p,vlax-put-property,vlax-read-enabled-p,%
      vlax-release-object,vlax-remove-cmd,vlax-safearray-fill,%
      vlax-safearray-get-dim,vlax-safearray-get-element,%
      vlax-safearray-get-l-bound,vlax-safearray-get-u-bound,%
      vlax-safearray-put-element,vlax-safearray-type,%
      vlax-safearray->list,vlax-tmatrix,vlax-typeinfo-available-p,%
      vlax-variant-change-type,vlax-variant-type,vlax-variant-value,%
      vlax-vla-object->ename,vlax-write-enabled-p,vlisp-compile,%
      vlr-acdb-reactor,vlr-add,vlr-added-p,vlr-beep-reaction,%
      vlr-command-reactor,vlr-current-reaction-name,vlr-data,%
      vlr-data-set,vlr-deepclone-reactor,vlr-docmanager-reactor,%
      vlr-dwg-reactor,vlr-dxf-reactor,vlr-editor-reactor,%
      vlr-insert-reactor,vlr-linker-reactor,vlr-lisp-reactor,%
      vlr-miscellaneous-reactor,vlr-mouse-reactor,vlr-notification,%
      vlr-object-reactor,vlr-owner-add,vlr-owner-remove,vlr-owners,%
      vlr-pers,vlr-pers-list,vlr-pers-p,vlr-pers-release,%
      vlr-reaction-names,vlr-reaction-set,vlr-reactions,vlr-reactors,%
      vlr-remove,vlr-remove-all,vlr-set-notification,%
      vlr-sysvar-reactor,vlr-toolbar-reactor,vlr-trace-reaction,%
      vlr-type,vlr-types,vlr-undo-reactor,vlr-wblock-reactor,%
      vlr-window-reactor,vlr-xref-reactor,vports,wcmatch,while,%
      write-char,write-line,xdroom,xdsize,zerop},%
   alsodigit=->,%
   otherkeywords={1+,1-},%
   sensitive=false,%
   morecomment=[l];,%
   morecomment=[l];;,%
   morestring=[b]"%
  }[keywords,comments,strings]%
%%
%% Make definitions (c) 2000 Rolf Niepraschk
%%
\lst@definelanguage[gnu]{make}%
  {morekeywords={SHELL,MAKE,MAKEFLAGS,$@,$\%,$<,$?,$^,$+,$*,%
      @,^,<,\%,+,?,*,% Markus Pahlow
      export,unexport,include,override,define,ifdef,ifneq,ifeq,else,%
      endif,vpath,subst,patsubst,strip,findstring,filter,filter-out,%
      sort,dir,notdir,suffix,basename,addsuffix,addprefix,join,word,%
      words,firstword,wildcard,shell,origin,foreach,%
      @D,@F,*D,*F,\%D,\%F,<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]%
\lst@definelanguage{make}
  {morekeywords={SHELL,MAKE,MAKEFLAGS,$@,$\%,$<,$?,$^,$+,$*},%
   sensitive=true,%
   morecomment=[l]\#,%
   morestring=[b]"%
  }[keywords,comments,strings,make]%
%%
%% 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]%
%%
%% Miranda definition (c) 1998 Peter Bartke
%%
%% Miranda: pure lazy functional language with polymorphic type system,
%%          garbage collection and functions as first class citizens
%%
\lst@definelanguage{Miranda}%
  {morekeywords={abstype,div,if,mod,otherwise,readvals,show,type,where,%
     with,bool,char,num,sys_message,False,True,Appendfile,Closefile,%
     Exit,Stderr,Stdout,System,Tofile,\%include,\%export,\%free,%
     \%insert,abs,and,arctan,cjustify,code,concat,const,converse,cos,%
     decode,digit,drop,dropwhile,entier,error,exp,filemode,filter,%
     foldl,foldl1,foldr,foldr1,force,fst,getenv,hd,hugenum,id,index,%
     init,integer,iterate,last,lay,layn,letter,limit,lines,ljustify,%
     log,log10,map,map2,max,max2,member,merge,min,min2,mkset,neg,%
     numval,or,pi,postfix,product,read,rep,repeat,reverse,rjustify,%
     scan,seq,showfloat,shownum,showscaled,sin,snd,sort,spaces,sqrt,%
     subtract,sum,system,take,takewhile,tinynum,tl,transpose,undef,%
     until,zip2,zip3,zip4,zip5,zip6,zip},%
   sensitive,%
   morecomment=[l]||,%
   morestring=[b]"%
  }[keywords,comments,strings]%
%%
%% ML definition (c) 1999 Torben Hoffmann
%%
\lst@definelanguage{ML}%
  {morekeywords={abstype,and,andalso,as,case,do,datatype,else,end,%
       eqtype,exception,fn,fun,functor,handle,if,in,include,infix,%
       infixr,let,local,nonfix,of,op,open,orelse,raise,rec,sharing,sig,%
       signature,struct,structure,then,type,val,with,withtype,while},%
   sensitive,%
   morecomment=[n]{(*}{*)},%
   morestring=[d]"%
  }[keywords,comments,strings]%
%%
%% Oz definition (c) Andres Becerra Sandoval
%%
\lst@definelanguage{Oz}%
  {morekeywords={andthen,at,attr,case,catch,choice,class,%
      cond,declare,define,dis,div,else,elsecase,%
      elseif,end,export,fail,false,feat,finally,%
      from,fun,functor,if,import,in,local,%
      lock,meth,mod,not,of,or,orelse,%
      prepare,proc,prop,raise,require,self,skip,%
      then,thread,true,try,unit},%
   sensitive=true,%
   morecomment=[l]{\%},%
   morecomment=[s]{/*}{*/},%
   morestring=[b]",%
   morestring=[d]'%
  }[keywords,comments,strings]%
%%
%% PHP definition by Luca Balzerani
%%
\lst@definelanguage{PHP}%
  {morekeywords={%
  %--- core language
    <?,?>,::,break,case,continue,default,do,else,%
    elseif,for,foreach,if,include,require,phpinfo,%
    switch,while,false,FALSE,true,TRUE,%
  %--- apache functions
    apache_lookup_uri,apache_note,ascii2ebcdic,ebcdic2ascii,%
    virtual,apache_child_terminate,apache_setenv,%
  %--- array functions
    array,array_change_key_case,array_chunk,array_count_values,%
    array_filter,array_flip,array_fill,array_intersect,%
    array_keys,array_map,array_merge,array_merge_recursive,%
    array_pad,array_pop,array_push,array_rand,array_reverse,%
    array_shift,array_slice,array_splice,array_sum,array_unique,%
    array_values,array_walk,arsort,asort,compact,count,current,each,%
    extract,in_array,array_search,key,krsort,ksort,list,natsort,%
    next,pos,prev,range,reset,rsort,shuffle,sizeof,sort,uasort,%
    usort,%
  %--- aspell functions
    aspell_new,aspell_check,aspell_check_raw,aspell_suggest,%
  %--- bc functions
    bcadd,bccomp,bcdiv,bcmod,bcmul,bcpow,bcscale,bcsqrt,bcsub,%
  %--- bzip2 functions
    bzclose,bzcompress,bzdecompress,bzerrno,bzerror,bzerrstr,%
    bzopen,bzread,bzwrite,%
  %--- calendar functions
    JDToGregorian,GregorianToJD,JDToJulian,JulianToJD,JDToJewish,%
    JDToFrench,FrenchToJD,JDMonthName,JDDayOfWeek,easter_date,%
    unixtojd,jdtounix,cal_days_in_month,cal_to_jd,cal_from_jd,%
  %--- ccvs functions
    ccvs_init,ccvs_done,ccvs_new,ccvs_add,ccvs_delete,ccvs_auth,%
    ccvs_reverse,ccvs_sale,ccvs_void,ccvs_status,ccvs_count,%
    ccvs_report,ccvs_command,ccvs_textvalue,%
  %--- classobj functions
    call_user_method,call_user_method_array,class_exists,get_class,%
    get_class_vars,get_declared_classes,get_object_vars,%
    is_a,is_subclass_of,method_exists,%
  %--- com functions
    COM,VARIANT,com_load,com_invoke,com_propget,com_get,com_propput,%
    com_set,com_addref,com_release,com_isenum,com_load_typelib,%
  %--- cpdf functions
    cpdf_add_annotation,cpdf_add_outline,cpdf_arc,cpdf_begin_text,%
    cpdf_clip,cpdf_close,cpdf_closepath,cpdf_closepath_fill_stroke,%
    cpdf_continue_text,cpdf_curveto,cpdf_end_text,cpdf_fill,%
    cpdf_finalize,cpdf_finalize_page,%
    cpdf_import_jpeg,cpdf_lineto,cpdf_moveto,cpdf_newpath,cpdf_open,%
    cpdf_page_init,cpdf_place_inline_image,cpdf_rect,cpdf_restore,%
    cpdf_rmoveto,cpdf_rotate,cpdf_rotate_text,cpdf_save,%
    cpdf_scale,cpdf_set_char_spacing,cpdf_set_creator,%
    cpdf_set_font,cpdf_set_horiz_scaling,cpdf_set_keywords,%
    cpdf_set_page_animation,cpdf_set_subject,cpdf_set_text_matrix,%
    cpdf_set_text_rendering,cpdf_set_text_rise,cpdf_set_title,%
    cpdf_setdash,cpdf_setflat,cpdf_setgray,cpdf_setgray_fill,%
    cpdf_setlinecap,cpdf_setlinejoin,cpdf_setlinewidth,%
    cpdf_setrgbcolor,cpdf_setrgbcolor_fill,cpdf_setrgbcolor_stroke,%
    cpdf_show_xy,cpdf_stringwidth,cpdf_set_font_directories,%
    cpdf_set_viewer_preferences,cpdf_stroke,cpdf_text,%
    cpdf_set_action_url,%
  %--- crack functions
    crack_opendict,crack_closedict,crack_check,crack_getlastmessage,%
  %--- ctype functions
    ctype_alnum,ctype_alpha,ctype_cntrl,ctype_digit,ctype_lower,%
    ctype_print,ctype_punct,ctype_space,ctype_upper,ctype_xdigit,%
  %--- curl functions
    curl_init,curl_setopt,curl_exec,curl_close,curl_version,%
    curl_error,curl_getinfo,%
  %--- cybercash functions
    cybercash_encr,cybercash_decr,cybercash_base64_encode,%
  %--- cybermut functions
    cybermut_creerformulairecm,cybermut_testmac,%
  %--- cyrus functions
    cyrus_connect,cyrus_authenticate,cyrus_bind,cyrus_unbind,%
    cyrus_close,%
  %--- datetime functions
    checkdate,date,getdate,gettimeofday,gmdate,gmmktime,gmstrftime,%
    microtime,mktime,strftime,time,strtotime,%
  %--- dbase functions
    dbase_create,dbase_open,dbase_close,dbase_pack,dbase_add_record,%
    dbase_delete_record,dbase_get_record,%
    dbase_numfields,dbase_numrecords,%
  %--- dba functions
    dba_close,dba_delete,dba_exists,dba_fetch,dba_firstkey,%
    dba_nextkey,dba_popen,dba_open,dba_optimize,dba_replace,%
  %--- dbm functions
    dbmopen,dbmclose,dbmexists,dbmfetch,dbminsert,dbmreplace,%
    dbmfirstkey,dbmnextkey,dblist,%
  %--- dbx functions
    dbx_close,dbx_connect,dbx_error,dbx_query,dbx_sort,dbx_compare,%
  %--- dio functions
    dio_open,dio_read,dio_write,dio_truncate,dio_stat,dio_seek,%
    dio_close,%
  %--- dir functions
    chroot,chdir,dir,closedir,getcwd,opendir,readdir,rewinddir,%
  %--- dotnet functions
    dotnet_load,%
  %--- errorfunc functions
    error_log,error_reporting,restore_error_handler,%
    trigger_error,user_error,%
  %--- exec functions
    escapeshellarg,escapeshellcmd,exec,passthru,system,shell_exec,%
  %--- fbsql functions
    fbsql_affected_rows,fbsql_autocommit,fbsql_change_user,%
    fbsql_commit,fbsql_connect,fbsql_create_db,fbsql_create_blob,%
    fbsql_database_password,fbsql_data_seek,fbsql_db_query,%
    fbsql_drop_db,fbsql_errno,fbsql_error,fbsql_fetch_array,%
    fbsql_fetch_field,fbsql_fetch_lengths,fbsql_fetch_object,%
    fbsql_field_flags,fbsql_field_name,fbsql_field_len,%
    fbsql_field_table,fbsql_field_type,fbsql_free_result,%
    fbsql_list_dbs,fbsql_list_fields,fbsql_list_tables,%
    fbsql_num_fields,fbsql_num_rows,fbsql_pconnect,fbsql_query,%
    fbsql_read_clob,fbsql_result,fbsql_rollback,fbsql_set_lob_mode,%
    fbsql_start_db,fbsql_stop_db,fbsql_tablename,fbsql_warnings,%
    fbsql_get_autostart_info,fbsql_hostname,fbsql_password,%
    fbsql_username,%
  %--- fdf functions
    fdf_open,fdf_close,fdf_create,fdf_save,fdf_get_value,%
    fdf_next_field_name,fdf_set_ap,fdf_set_status,fdf_get_status,%
    fdf_get_file,fdf_set_flags,fdf_set_opt,%
    fdf_set_javascript_action,fdf_set_encoding,fdf_add_template,%
  %--- filepro functions
    filepro,filepro_fieldname,filepro_fieldtype,filepro_fieldwidth,%
    filepro_fieldcount,filepro_rowcount,%
  %--- filesystem functions
    basename,chgrp,chmod,chown,clearstatcache,copy,delete,dirname,%
    diskfreespace,disk_total_space,fclose,feof,fflush,fgetc,fgetcsv,%
    fgetss,file_get_contents,file,file_exists,fileatime,filectime,%
    fileinode,filemtime,fileowner,fileperms,filesize,filetype,flock,%
    fopen,fpassthru,fputs,fread,fscanf,fseek,fstat,ftell,ftruncate,%
    set_file_buffer,is_dir,is_executable,is_file,is_link,%
    is_writable,is_writeable,is_uploaded_file,link,linkinfo,mkdir,%
    parse_ini_file,pathinfo,pclose,popen,readfile,readlink,rename,%
    rmdir,stat,lstat,realpath,symlink,tempnam,tmpfile,touch,umask,%
  %--- fribidi functions
    fribidi_log2vis,%
  %--- ftp functions
    ftp_connect,ftp_login,ftp_pwd,ftp_cdup,ftp_chdir,ftp_mkdir,%
    ftp_nlist,ftp_rawlist,ftp_systype,ftp_pasv,ftp_get,ftp_fget,%
    ftp_fput,ftp_size,ftp_mdtm,ftp_rename,ftp_delete,ftp_site,%
    ftp_quit,ftp_exec,ftp_set_option,ftp_get_option,%
  %--- funchand functions
    call_user_func_array,call_user_func,create_function,%
    func_get_args,func_num_args,function_exists,%
    register_shutdown_function,register_tick_function,%
  %--- gettext functions
    bindtextdomain,bind_textdomain_codeset,dcgettext,dcngettext,%
    dngettext,gettext,ngettext,textdomain,%
  %--- gmp functions
    gmp_init,gmp_intval,gmp_strval,gmp_add,gmp_sub,gmp_mul,%
    gmp_div_r,gmp_div_qr,gmp_div,gmp_mod,gmp_divexact,gmp_cmp,%
    gmp_com,gmp_abs,gmp_sign,gmp_fact,gmp_sqrt,gmp_sqrtrm,%
    gmp_pow,gmp_powm,gmp_prob_prime,gmp_gcd,gmp_gcdext,gmp_invert,%
    gmp_jacobi,gmp_random,gmp_and,gmp_or,gmp_xor,gmp_setbit,%
    gmp_scan0,gmp_scan1,gmp_popcount,gmp_hamdist,%
  %--- http functions
    header,headers_sent,setcookie,%
  %--- hw functions
    hw_Array2Objrec,hw_Children,hw_ChildrenObj,hw_Close,hw_Connect,%
    hw_Deleteobject,hw_DocByAnchor,hw_DocByAnchorObj,%
    hw_Document_BodyTag,hw_Document_Content,hw_Document_SetContent,%
    hw_ErrorMsg,hw_EditText,hw_Error,hw_Free_Document,hw_GetParents,%
    hw_GetChildColl,hw_GetChildCollObj,hw_GetRemote,%
    hw_GetSrcByDestObj,hw_GetObject,hw_GetAndLock,hw_GetText,%
    hw_GetObjectByQueryObj,hw_GetObjectByQueryColl,%
    hw_GetChildDocColl,hw_GetChildDocCollObj,hw_GetAnchors,%
    hw_Mv,hw_Identify,hw_InCollections,hw_Info,hw_InsColl,hw_InsDoc,%
    hw_InsertObject,hw_mapid,hw_Modifyobject,hw_New_Document,%
    hw_Output_Document,hw_pConnect,hw_PipeDocument,hw_Root,%
    hw_Who,hw_getusername,hw_stat,hw_setlinkroot,hw_connection_info,%
    hw_insertanchors,hw_getrellink,hw_changeobject,%
  %--- ibase functions
    ibase_connect,ibase_pconnect,ibase_close,ibase_query,%
    ibase_fetch_row,ibase_fetch_object,ibase_field_info,%
    ibase_free_result,ibase_prepare,ibase_execute,ibase_trans,%
    ibase_rollback,ibase_timefmt,ibase_num_fields,ibase_blob_add,%
    ibase_blob_close,ibase_blob_create,ibase_blob_echo,%
    ibase_blob_import,ibase_blob_info,ibase_blob_open,%
  %--- icap functions
    icap_open,icap_close,icap_fetch_event,icap_list_events,%
    icap_delete_event,icap_snooze,icap_list_alarms,%
    icap_rename_calendar,icap_delete_calendar,icap_reopen,%
  %--- iconv functions
    iconv,iconv_get_encoding,iconv_set_encoding,ob_iconv_handler,%
  %--- ifx functions
    ifx_connect,ifx_pconnect,ifx_close,ifx_query,ifx_prepare,ifx_do,%
    ifx_errormsg,ifx_affected_rows,ifx_getsqlca,ifx_fetch_row,%
    ifx_fieldtypes,ifx_fieldproperties,ifx_num_fields,ifx_num_rows,%
    ifx_create_char,ifx_free_char,ifx_update_char,ifx_get_char,%
    ifx_copy_blob,ifx_free_blob,ifx_get_blob,ifx_update_blob,%
    ifx_textasvarchar,ifx_byteasvarchar,ifx_nullformat,%
    ifxus_free_slob,ifxus_close_slob,ifxus_open_slob,%
    ifxus_seek_slob,ifxus_read_slob,ifxus_write_slob,%
  %--- iisfunc functions
    iis_get_server_by_path,iis_get_server_by_comment,iis_add_server,%
    iis_set_dir_security,iis_get_dir_security,iis_set_server_rights,%
    iis_set_script_map,iis_get_script_map,iis_set_app_settings,%
    iis_stop_server,iis_stop_service,iis_start_service,%
  %--- image functions
    exif_imagetype,exif_read_data,exif_thumbnail,getimagesize,%
    imagealphablending,imagearc,imagefilledarc,imageellipse,%
    imagechar,imagecharup,imagecolorallocate,imagecolordeallocate,%
    imagecolorclosest,imagecolorclosestalpha,imagecolorclosestthwb,%
    imagecolorexactalpha,imagecolorresolve,imagecolorresolvealpha,%
    imagecolorset,imagecolorsforindex,imagecolorstotal,%
    imagecopy,imagecopymerge,imagecopymergegray,imagecopyresized,%
    imagecreate,imagecreatetruecolor,imagetruecolortopalette,%
    imagecreatefromgd2,imagecreatefromgd2part,imagecreatefromgif,%
    imagecreatefrompng,imagecreatefromwbmp,imagecreatefromstring,%
    imagecreatefromxpm,imagedashedline,imagedestroy,imagefill,%
    imagefilledrectangle,imagefilltoborder,imagefontheight,%
    imagegd,imagegd2,imagegif,imagepng,imagejpeg,imagewbmp,%
    imageline,imageloadfont,imagepalettecopy,imagepolygon,%
    imagepsencodefont,imagepsfreefont,imagepsloadfont,%
    imagepsslantfont,imagepstext,imagerectangle,imagesetpixel,%
    imagesetstyle,imagesettile,imagesetthickness,imagestring,%
    imagesx,imagesy,imagettfbbox,imageftbbox,imagettftext,%
    imagetypes,jpeg2wbmp,png2wbmp,iptcembed,read_exif_data,%
  %--- imap functions
    imap_8bit,imap_alerts,imap_append,imap_base64,imap_binary,%
    imap_bodystruct,imap_check,imap_clearflag_full,imap_close,%
    imap_delete,imap_deletemailbox,imap_errors,imap_expunge,%
    imap_fetchbody,imap_fetchheader,imap_fetchstructure,%
    imap_getmailboxes,imap_getsubscribed,imap_header,%
    imap_headers,imap_last_error,imap_listmailbox,%
    imap_mail,imap_mail_compose,imap_mail_copy,imap_mail_move,%
    imap_mime_header_decode,imap_msgno,imap_num_msg,imap_num_recent,%
    imap_ping,imap_popen,imap_qprint,imap_renamemailbox,imap_reopen,%
    imap_rfc822_parse_headers,imap_rfc822_write_address,%
    imap_search,imap_setacl,imap_set_quota,imap_setflag_full,%
    imap_status,imap_subscribe,imap_uid,imap_undelete,%
    imap_utf7_decode,imap_utf7_encode,imap_utf8,imap_thread,%
  %--- info functions
    assert,assert_options,extension_loaded,dl,getenv,get_cfg_var,%
    get_defined_constants,get_extension_funcs,getmygid,%
    get_loaded_extensions,get_magic_quotes_gpc,%
    getlastmod,getmyinode,getmypid,getmyuid,get_required_files,%
    ini_alter,ini_get,ini_get_all,ini_restore,ini_set,phpcredits,%
    phpversion,php_logo_guid,php_sapi_name,php_uname,putenv,%
    set_time_limit,version_compare,zend_logo_guid,zend_version,%
  %--- ircg functions
    ircg_pconnect,ircg_fetch_error_msg,ircg_set_current,ircg_join,%
    ircg_msg,ircg_notice,ircg_nick,ircg_topic,ircg_channel_mode,%
    ircg_whois,ircg_kick,ircg_ignore_add,ircg_ignore_del,%
    ircg_is_conn_alive,ircg_lookup_format_messages,%
    ircg_set_on_die,ircg_set_file,ircg_get_username,%
    ircg_nickname_unescape,%
  %--- java functions
    java_last_exception_clear,java_last_exception_get,%
  %--- ldap functions
    ldap_add,ldap_bind,ldap_close,ldap_compare,ldap_connect,%
    ldap_delete,ldap_dn2ufn,ldap_err2str,ldap_errno,ldap_error,%
    ldap_first_attribute,ldap_first_entry,ldap_free_result,%
    ldap_get_dn,ldap_get_entries,ldap_get_option,ldap_get_values,%
    ldap_list,ldap_modify,ldap_mod_add,ldap_mod_del,%
    ldap_next_attribute,ldap_next_entry,ldap_read,ldap_rename,%
    ldap_set_option,ldap_unbind,ldap_8859_to_t61,%
    ldap_next_reference,ldap_parse_reference,ldap_parse_result,%
    ldap_sort,ldap_start_tls,ldap_t61_to_8859,%
  %--- mail functions
    mail,ezmlm_hash,%
  %--- math functions
    abs,acos,acosh,asin,asinh,atan,atanh,atan2,base_convert,bindec,%
    cos,cosh,decbin,dechex,decoct,deg2rad,exp,expm1,floor,%
    hexdec,hypot,is_finite,is_infinite,is_nan,lcg_value,log,log10,%
    max,min,mt_rand,mt_srand,mt_getrandmax,number_format,octdec,pi,%
    rad2deg,rand,round,sin,sinh,sqrt,srand,tan,tanh,%
  %--- mbstring functions
    mb_language,mb_parse_str,mb_internal_encoding,mb_http_input,%
    mb_detect_order,mb_substitute_character,mb_output_handler,%
    mb_strlen,mb_strpos,mb_strrpos,mb_substr,mb_strcut,mb_strwidth,%
    mb_convert_encoding,mb_detect_encoding,mb_convert_kana,%
    mb_decode_mimeheader,mb_convert_variables,%
    mb_decode_numericentity,mb_send_mail,mb_get_info,%
    mb_ereg,mb_eregi,mb_ereg_replace,mb_eregi_replace,mb_split,%
    mb_ereg_search,mb_ereg_search_pos,mb_ereg_search_regs,%
    mb_ereg_search_getregs,mb_ereg_search_getpos,%
  %--- mcal functions
    mcal_open,mcal_popen,mcal_reopen,mcal_close,%
    mcal_rename_calendar,mcal_delete_calendar,mcal_fetch_event,%
    mcal_append_event,mcal_store_event,mcal_delete_event,%
    mcal_list_alarms,mcal_event_init,mcal_event_set_category,%
    mcal_event_set_description,mcal_event_set_start,%
    mcal_event_set_alarm,mcal_event_set_class,mcal_is_leap_year,%
    mcal_date_valid,mcal_time_valid,mcal_day_of_week,%
    mcal_date_compare,mcal_next_recurrence,%
    mcal_event_set_recur_daily,mcal_event_set_recur_weekly,%
    mcal_event_set_recur_monthly_wday,mcal_event_set_recur_yearly,%
    mcal_event_add_attribute,mcal_expunge,mcal_week_of_year,%
  %--- mcrypt functions
    mcrypt_get_cipher_name,mcrypt_get_block_size,%
    mcrypt_create_iv,mcrypt_cbc,mcrypt_cfb,mcrypt_ecb,mcrypt_ofb,%
    mcrypt_list_modes,mcrypt_get_iv_size,mcrypt_encrypt,%
    mcrypt_module_open,mcrypt_module_close,mcrypt_generic_deinit,%
    mcrypt_generic,mdecrypt_generic,mcrypt_generic_end,%
    mcrypt_enc_is_block_algorithm_mode,%
    mcrypt_enc_is_block_mode,mcrypt_enc_get_block_size,%
    mcrypt_enc_get_supported_key_sizes,mcrypt_enc_get_iv_size,%
    mcrypt_enc_get_modes_name,mcrypt_module_self_test,%
    mcrypt_module_is_block_algorithm,mcrypt_module_is_block_mode,%
    mcrypt_module_get_algo_key_size,%
  %--- mhash functions
    mhash_get_hash_name,mhash_get_block_size,mhash_count,mhash,%
  %--- misc functions
    connection_aborted,connection_status,connection_timeout,%
    define,defined,die,eval,exit,get_browser,highlight_file,%
    ignore_user_abort,iptcparse,leak,pack,show_source,sleep,uniqid,%
    usleep,%
  %--- mnogosearch functions
    udm_add_search_limit,udm_alloc_agent,udm_api_version,%
    udm_cat_list,udm_clear_search_limits,udm_errno,udm_error,%
    udm_free_agent,udm_free_ispell_data,udm_free_res,%
    udm_get_res_field,udm_get_res_param,udm_load_ispell_data,%
    udm_check_charset,udm_check_stored,udm_close_stored,udm_crc32,%
  %--- msession functions
    msession_connect,msession_disconnect,msession_count,%
    msession_destroy,msession_lock,msession_unlock,msession_set,%
    msession_uniq,msession_randstr,msession_find,msession_list,%
    msession_set_array,msession_listvar,msession_timeout,%
    msession_getdata,msession_setdata,msession_plugin,%
  %--- msql functions
    msql,msql_affected_rows,msql_close,msql_connect,msql_create_db,%
    msql_data_seek,msql_dbname,msql_drop_db,msql_dropdb,msql_error,%
    msql_fetch_field,msql_fetch_object,msql_fetch_row,%
    msql_field_seek,msql_fieldtable,msql_fieldtype,msql_fieldflags,%
    msql_free_result,msql_freeresult,msql_list_fields,%
    msql_list_dbs,msql_listdbs,msql_list_tables,msql_listtables,%
    msql_num_rows,msql_numfields,msql_numrows,msql_pconnect,%
    msql_regcase,msql_result,msql_select_db,msql_selectdb,%
  %--- mssql functions
    mssql_close,mssql_connect,mssql_data_seek,mssql_fetch_array,%
    mssql_fetch_object,mssql_fetch_row,mssql_field_length,%
    mssql_field_seek,mssql_field_type,mssql_free_result,%
    mssql_min_error_severity,mssql_min_message_severity,%
    mssql_num_fields,mssql_num_rows,mssql_pconnect,mssql_query,%
    mssql_select_db,mssql_bind,mssql_execute,mssql_fetch_assoc,%
    mssql_guid_string,mssql_init,mssql_rows_affected,%
  %--- muscat functions
    muscat_setup,muscat_setup_net,muscat_give,muscat_get,%
  %--- mysql functions
    mysql_affected_rows,mysql_change_user,mysql_character_set_name,%
    mysql_connect,mysql_create_db,mysql_data_seek,mysql_db_name,%
    mysql_drop_db,mysql_errno,mysql_error,mysql_escape_string,%
    mysql_fetch_assoc,mysql_fetch_field,mysql_fetch_lengths,%
    mysql_fetch_row,mysql_field_flags,mysql_field_name,%
    mysql_field_seek,mysql_field_table,mysql_field_type,%
    mysql_info,mysql_insert_id,mysql_list_dbs,mysql_list_fields,%
    mysql_list_tables,mysql_num_fields,mysql_num_rows,%
    mysql_ping,mysql_query,mysql_unbuffered_query,%
    mysql_result,mysql_select_db,mysql_tablename,mysql_thread_id,%
    mysql_get_host_info,mysql_get_proto_info,mysql_get_server_info,%
  %--- network functions
    checkdnsrr,closelog,debugger_off,debugger_on,%
    fsockopen,gethostbyaddr,gethostbyname,gethostbynamel,getmxrr,%
    getprotobynumber,getservbyname,getservbyport,ip2long,long2ip,%
    pfsockopen,socket_get_status,socket_set_blocking,%
    syslog,%
  %--- nis functions
    yp_get_default_domain,yp_order,yp_master,yp_match,yp_first,%
    yp_errno,yp_err_string,yp_all,yp_cat,%
  %--- oci8 functions
    OCIDefineByName,OCIBindByName,OCILogon,OCIPLogon,OCINLogon,%
    OCIExecute,OCICommit,OCIRollback,OCINewDescriptor,OCIRowCount,%
    OCIResult,OCIFetch,OCIFetchInto,OCIFetchStatement,%
    OCIColumnName,OCIColumnSize,OCIColumnType,OCIServerVersion,%
    OCINewCursor,OCIFreeStatement,OCIFreeCursor,OCIFreeDesc,%
    OCIError,OCIInternalDebug,OCICancel,OCISetPrefetch,%
    OCISaveLobFile,OCISaveLob,OCILoadLob,OCIColumnScale,%
    OCIColumnTypeRaw,OCINewCollection,OCIFreeCollection,%
    OCICollAppend,OCICollAssignElem,OCICollGetElem,OCICollMax,%
    OCICollTrim,%
  %--- oracle functions
    Ora_Bind,Ora_Close,Ora_ColumnName,Ora_ColumnSize,Ora_ColumnType,%
    Ora_CommitOff,Ora_CommitOn,Ora_Do,Ora_Error,Ora_ErrorCode,%
    Ora_Fetch,Ora_Fetch_Into,Ora_GetColumn,Ora_Logoff,Ora_Logon,%
    Ora_Numcols,Ora_Numrows,Ora_Open,Ora_Parse,Ora_Rollback,%
  %--- outcontrol functions
    flush,ob_start,ob_get_contents,ob_get_length,ob_get_level,%
    ob_flush,ob_clean,ob_end_flush,ob_end_clean,ob_implicit_flush,%
  %--- ovrimos functions
    ovrimos_connect,ovrimos_close,ovrimos_longreadlen,%
    ovrimos_execute,ovrimos_cursor,ovrimos_exec,ovrimos_fetch_into,%
    ovrimos_result,ovrimos_result_all,ovrimos_num_rows,%
    ovrimos_field_name,ovrimos_field_type,ovrimos_field_len,%
    ovrimos_free_result,ovrimos_commit,ovrimos_rollback,%
  %--- pcntl functions
    pcntl_fork,pcntl_signal,pcntl_waitpid,pcntl_wexitstatus,%
    pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,%
    pcntl_exec,%
  %--- pcre functions
    preg_match,preg_match_all,preg_replace,preg_replace_callback,%
    preg_quote,preg_grep,Pattern Modifiers,Pattern Syntax,%
  %--- pdf functions
    pdf_add_annotation,pdf_add_bookmark,pdf_add_launchlink,%
    pdf_add_note,pdf_add_outline,pdf_add_pdflink,pdf_add_thumbnail,%
    pdf_arc,pdf_arcn,pdf_attach_file,pdf_begin_page,%
    pdf_begin_template,pdf_circle,pdf_clip,pdf_close,pdf_closepath,%
    pdf_closepath_stroke,pdf_close_image,pdf_close_pdi,%
    pdf_concat,pdf_continue_text,pdf_curveto,pdf_delete,%
    pdf_endpath,pdf_end_pattern,pdf_end_template,pdf_fill,%
    pdf_findfont,pdf_get_buffer,pdf_get_font,pdf_get_fontname,%
    pdf_get_image_height,pdf_get_image_width,pdf_get_parameter,%
    pdf_get_pdi_value,pdf_get_majorversion,pdf_get_minorversion,%
    pdf_initgraphics,pdf_lineto,pdf_makespotcolor,pdf_moveto,%
    pdf_open,pdf_open_CCITT,pdf_open_file,pdf_open_gif,%
    pdf_open_image_file,pdf_open_jpeg,pdf_open_memory_image,%
    pdf_open_pdi_page,pdf_open_png,pdf_open_tiff,pdf_place_image,%
    pdf_rect,pdf_restore,pdf_rotate,pdf_save,pdf_scale,pdf_setcolor,%
    pdf_setflat,pdf_setfont,pdf_setgray,pdf_setgray_fill,%
    pdf_setlinecap,pdf_setlinejoin,pdf_setlinewidth,pdf_setmatrix,%
    pdf_setpolydash,pdf_setrgbcolor,pdf_setrgbcolor_fill,%
    pdf_set_border_color,pdf_set_border_dash,pdf_set_border_style,%
    pdf_set_duration,pdf_set_font,pdf_set_horiz_scaling,%
    pdf_set_info_author,pdf_set_info_creator,pdf_set_info_keywords,%
    pdf_set_info_title,pdf_set_leading,pdf_set_parameter,%
    pdf_set_text_rendering,pdf_set_text_rise,pdf_set_text_matrix,%
    pdf_set_word_spacing,pdf_show,pdf_show_boxed,pdf_show_xy,%
    pdf_stringwidth,pdf_stroke,pdf_translate,%
  %--- pfpro functions
    pfpro_init,pfpro_cleanup,pfpro_process,pfpro_process_raw,%
  %--- pgsql functions
    pg_close,pg_affected_rows,pg_connect,pg_dbname,pg_end_copy,%
    pg_query,pg_fetch_array,pg_fetch_object,pg_fetch_row,%
    pg_field_name,pg_field_num,pg_field_prtlen,pg_field_size,%
    pg_free_result,pg_last_oid,pg_host,pg_last_notice,pg_lo_close,%
    pg_lo_export,pg_lo_import,pg_lo_open,pg_lo_read,pg_lo_seek,%
    pg_lo_read_all,pg_lo_unlink,pg_lo_write,pg_num_fields,%
    pg_options,pg_pconnect,pg_port,pg_put_line,pg_fetch_result,%
    pg_client_encoding,pg_trace,pg_tty,pg_untrace,pg_get_result,%
    pg_send_query,pg_cancel_query,pg_connection_busy,%
    pg_connection_status,pg_copy_from,pg_copy_to,pg_escape_bytea,%
    pg_result_error,%
  %--- posix functions
    posix_kill,posix_getpid,posix_getppid,posix_getuid,%
    posix_getgid,posix_getegid,posix_setuid,posix_seteuid,%
    posix_setegid,posix_getgroups,posix_getlogin,posix_getpgrp,%
    posix_setpgid,posix_getpgid,posix_getsid,posix_uname,%
    posix_ctermid,posix_ttyname,posix_isatty,posix_getcwd,%
    posix_getgrnam,posix_getgrgid,posix_getpwnam,posix_getpwuid,%
  %--- printer functions
    printer_open,printer_abort,printer_close,printer_write,%
    printer_set_option,printer_get_option,printer_create_dc,%
    printer_start_doc,printer_end_doc,printer_start_page,%
    printer_create_pen,printer_delete_pen,printer_select_pen,%
    printer_delete_brush,printer_select_brush,printer_create_font,%
    printer_select_font,printer_logical_fontheight,%
    printer_draw_rectangle,printer_draw_elipse,printer_draw_text,%
    printer_draw_chord,printer_draw_pie,printer_draw_bmp,%
  %--- pspell functions
    pspell_add_to_personal,pspell_add_to_session,pspell_check,%
    pspell_config_create,pspell_config_ignore,pspell_config_mode,%
    pspell_config_repl,pspell_config_runtogether,%
    pspell_new,pspell_new_config,pspell_new_personal,%
    pspell_store_replacement,pspell_suggest,%
  %--- qtdom functions
    qdom_tree,qdom_error,%
  %--- readline functions
    readline,readline_add_history,readline_clear_history,%
    readline_info,readline_list_history,readline_read_history,%
  %--- recode functions
    recode_string,recode,recode_file,%
  %--- regex functions
    ereg,ereg_replace,eregi,eregi_replace,split,spliti,sql_regcase,%
  %--- sem functions
    sem_get,sem_acquire,sem_release,sem_remove,shm_attach,%
    shm_remove,shm_put_var,shm_get_var,shm_remove_var,ftok,%
  %--- sesam functions
    sesam_connect,sesam_disconnect,sesam_settransaction,%
    sesam_rollback,sesam_execimm,sesam_query,sesam_num_fields,%
    sesam_diagnostic,sesam_fetch_result,sesam_affected_rows,%
    sesam_field_array,sesam_fetch_row,sesam_fetch_array,%
    sesam_free_result,%
  %--- session functions
    session_start,session_destroy,session_name,session_module_name,%
    session_id,session_register,session_unregister,session_unset,%
    session_get_cookie_params,session_set_cookie_params,%
    session_encode,session_set_save_handler,session_cache_limiter,%
    session_write_close,%
  %--- shmop functions
    shmop_open,shmop_read,shmop_write,shmop_size,shmop_delete,%
  %--- snmp functions
    snmpget,snmpset,snmpwalk,snmpwalkoid,snmp_get_quick_print,%
    snmprealwalk,%
  %--- strings functions
    addcslashes,addslashes,bin2hex,chop,chr,chunk_split,%
    count_chars,crc32,crypt,echo,explode,get_html_translation_table,%
    hebrev,hebrevc,htmlentities,htmlspecialchars,implode,join,%
    localeconv,ltrim,md5,md5_file,metaphone,nl_langinfo,nl2br,ord,%
    print,printf,quoted_printable_decode,quotemeta,str_rot13,rtrim,%
    setlocale,similar_text,soundex,sprintf,strncasecmp,strcasecmp,%
    strcmp,strcoll,strcspn,strip_tags,stripcslashes,stripslashes,%
    strlen,strnatcmp,strnatcasecmp,strncmp,str_pad,strpos,strrchr,%
    strrev,strrpos,strspn,strstr,strtok,strtolower,strtoupper,%
    strtr,substr,substr_count,substr_replace,trim,ucfirst,ucwords,%
    vsprintf,wordwrap,%
  %--- swf functions
    swf_openfile,swf_closefile,swf_labelframe,swf_showframe,%
    swf_getframe,swf_mulcolor,swf_addcolor,swf_placeobject,%
    swf_removeobject,swf_nextid,swf_startdoaction,%
    swf_actiongeturl,swf_actionnextframe,swf_actionprevframe,%
    swf_actionstop,swf_actiontogglequality,swf_actionwaitforframe,%
    swf_actiongotolabel,swf_enddoaction,swf_defineline,%
    swf_definepoly,swf_startshape,swf_shapelinesolid,%
    swf_shapefillsolid,swf_shapefillbitmapclip,%
    swf_shapemoveto,swf_shapelineto,swf_shapecurveto,%
    swf_shapearc,swf_endshape,swf_definefont,swf_setfont,%
    swf_fontslant,swf_fonttracking,swf_getfontinfo,swf_definetext,%
    swf_definebitmap,swf_getbitmapinfo,swf_startsymbol,%
    swf_startbutton,swf_addbuttonrecord,swf_oncondition,%
    swf_viewport,swf_ortho,swf_ortho2,swf_perspective,swf_polarview,%
    swf_pushmatrix,swf_popmatrix,swf_scale,swf_translate,swf_rotate,%
  %--- sybase functions
    sybase_affected_rows,sybase_close,sybase_connect,%
    sybase_fetch_array,sybase_fetch_field,sybase_fetch_object,%
    sybase_field_seek,sybase_free_result,sybase_get_last_message,%
    sybase_min_error_severity,sybase_min_message_severity,%
    sybase_num_fields,sybase_num_rows,sybase_pconnect,sybase_query,%
    sybase_select_db,%
  %--- uodbc functions
    odbc_autocommit,odbc_binmode,odbc_close,odbc_close_all,%
    odbc_connect,odbc_cursor,odbc_do,odbc_error,odbc_errormsg,%
    odbc_execute,odbc_fetch_into,odbc_fetch_row,odbc_fetch_array,%
    odbc_fetch_object,odbc_field_name,odbc_field_num,%
    odbc_field_len,odbc_field_precision,odbc_field_scale,%
    odbc_longreadlen,odbc_num_fields,odbc_pconnect,odbc_prepare,%
    odbc_result,odbc_result_all,odbc_rollback,odbc_setoption,%
    odbc_tableprivileges,odbc_columns,odbc_columnprivileges,%
    odbc_primarykeys,odbc_foreignkeys,odbc_procedures,%
    odbc_specialcolumns,odbc_statistics,%
  %--- url functions
    base64_decode,base64_encode,parse_url,rawurldecode,rawurlencode,%
    urlencode,%
  %--- var functions
    doubleval,empty,floatval,gettype,get_defined_vars,%
    import_request_variables,intval,is_array,is_bool,is_double,%
    is_int,is_integer,is_long,is_null,is_numeric,is_object,is_real,%
    is_scalar,is_string,isset,print_r,serialize,settype,strval,%
    unset,var_dump,var_export,is_callable,%
  %--- vpopmail functions
    vpopmail_add_domain,vpopmail_del_domain,%
    vpopmail_add_domain_ex,vpopmail_del_domain_ex,%
    vpopmail_add_user,vpopmail_del_user,vpopmail_passwd,%
    vpopmail_auth_user,vpopmail_alias_add,vpopmail_alias_del,%
    vpopmail_alias_get,vpopmail_alias_get_all,vpopmail_error,%
  %--- w32api functions
    w32api_set_call_method,w32api_register_function,%
    w32api_deftype,w32api_init_dtype,%
  %--- wddx functions
    wddx_serialize_value,wddx_serialize_vars,wddx_packet_start,%
    wddx_add_vars,wddx_deserialize,%
  %--- xml functions
    xml_parser_create,xml_set_object,xml_set_element_handler,%
    xml_set_processing_instruction_handler,xml_set_default_handler,%
    xml_set_notation_decl_handler,%
    xml_parse,xml_get_error_code,xml_error_string,%
    xml_get_current_column_number,xml_get_current_byte_index,%
    xml_parser_free,xml_parser_set_option,xml_parser_get_option,%
    utf8_encode,xml_parser_create_ns,%
    xml_set_start_namespace_decl_handler,%
  %--- xslt functions
    xslt_set_log,xslt_create,xslt_errno,xslt_error,xslt_free,%
    xslt_set_sax_handler,xslt_set_scheme_handler,%
    xslt_set_base,xslt_set_encoding,xslt_set_sax_handlers,%
  %--- yaz functions
    yaz_addinfo,yaz_close,yaz_connect,yaz_errno,yaz_error,yaz_hits,%
    yaz_database,yaz_range,yaz_record,yaz_search,yaz_present,%
    yaz_scan,yaz_scan_result,yaz_ccl_conf,yaz_ccl_parse,%
    yaz_wait,yaz_sort,%
  %--- zip functions
    zip_close,zip_entry_close,zip_entry_compressedsize,%
    zip_entry_filesize,zip_entry_name,zip_entry_open,zip_entry_read,%
    zip_read,%
  %--- zlib functions
    gzclose,gzeof,gzfile,gzgetc,gzgets,gzgetss,gzopen,gzpassthru,%
    gzread,gzrewind,gzseek,gztell,gzwrite,readgzfile,gzcompress,%
    gzdeflate,gzinflate,gzencode,},%
   sensitive,%
   morecomment=[l]\#,%
   morecomment=[l]//,%
   morecomment=[s]{/*}{*/},%
   morestring=[b]",%
   morestring=[b]'%
  }[keywords,comments,strings]%
%%
%% Prolog definition (c) 1997 Dominique de Waleffe
%%
\lst@definelanguage{Prolog}%
  {morekeywords={op,mod,abort,ancestors,arg,ascii,ask,assert,asserta,%
      assertz,atom,atomic,char,clause,close,concat,consult,ed,ef,em,%
      eof,fail,file,findall,write,functor,getc,integer,is,length,%
      listing,load,name,nl,nonvar,not,numbervars,op,or,pp,prin,print,%
      private,prompt,putc,ratom,read,read_from_this_file,rename,repeat,%
      retract,retractall,save,see,seeing,seen,sh,skip,statistics,%
      subgoal_of,system,tab,tell,telling,time,told,trace,true,unload,%
      untrace,var,write},%
   sensitive=f,%
   morecomment=[l]\%,%
   morecomment=[s]{/*}{*/},%
   morestring=[bd]",%
   morestring=[bd]'%
  }[keywords,comments,strings]%
%%
%% classic rexx listings definition
%% by Patrick TJ McPhee <ptjm@interlog.com>
%%
\lst@definelanguage{Rexx}
  {morekeywords={address,arg,call,do,drop,else,end,exit,if,iterate,%
                 interpret,leave,nop,numeric,options,otherwise,parse,%
                 procedure,pull,push,queue,return,say,signal,then,to,%
                 trace,when},%
   sensitive=false,%
   morecomment=[n]{/*}{*/},%
   morestring=[d]{'},%
   morestring=[d]{"},%
  }[keywords,comments,strings]%
\lst@definelanguage{Ruby}%
  {morekeywords={__FILE__,__LINE__,BEGIN,END,alias,and,begin,break,%
      case,class,def,defined?,do,else,elsif,end,ensure,false,for,%
      if,in,module,next,nil,not,or,redo,rescue,retry,return,self,%
      super,then,true,undef,unless,until,when,while,yield},%
   sensitive=true,%
   morecomment=[l]\#,%
   morecomment=[l]\#\#,%
   morecomment=[s]{=BEGIN}{=END},%
   morestring=[b]',%
   morestring=[b]",%
   morestring=[s]{\%q/}{/},%
   morestring=[s]{\%q!}{!},%
   morestring=[s]{\%q\{}{\}},%
   morestring=[s]{\%q(}{)},%
   morestring=[s]{\%q[}{]},%
   morestring=[s]{\%q-}{-},%
   morestring=[s]{\%Q/}{/},%
   morestring=[s]{\%Q!}{!},%
   morestring=[s]{\%Q\{}{\}},%
   morestring=[s]{\%Q(}{)},%
   morestring=[s]{\%Q[}{]},%
   morestring=[s]{\%Q-}{-}%
  }[keywords,comments,strings]%
%%
%% SHELXL definition (c) 1999 Aidan Philip Heerdegen
%%
\lst@definelanguage{SHELXL}%
  {morekeywords={TITL,CELL,ZERR,LATT,SYMM,SFAC,DISP,UNIT,LAUE,%
      REM,MORE,TIME,END,HKLF,OMIT,SHEL,BASF,TWIN,EXTI,SWAT,%
      MERG,SPEC,RESI,MOVE,ANIS,AFIX,HFIX,FRAG,FEND,EXYZ,EADP,%
      EQIV,OMIT,CONN,PART,BIND,FREE,DFIX,BUMP,SAME,SADI,CHIV,%
      FLAT,DELU,SIMU,DEFS,ISOR,SUMP,L.S.,CGLS,SLIM,BLOC,DAMP,%
      WGHT,FVAR,BOND,CONF,MPLA,RTAB,LIST,ACTA,SIZE,TEMP,WPDB,%
      FMAP,GRID,PLAN,MOLE},%
   sensitive=false,%
   alsoother=_,% Makes the syntax highlighting ignore the underscores
   morecomment=[l]{! },%
  }%
%%
%% Tcl/Tk definition (c) Gerd Neugebauer
%%
\lst@definelanguage[tk]{tcl}[]{tcl}%
  {morekeywords={activate,add,separator,radiobutton,checkbutton,%
      command,cascade,all,bell,bind,bindtags,button,canvas,canvasx,%
      canvasy,cascade,cget,checkbutton,config,configu,configur,%
      configure,clipboard,create,arc,bitmap,image,line,oval,polygon,%
      rectangle,text,textwindow,curselection,delete,destroy,end,entry,%
      entrycget,event,focus,font,actual,families,measure,metrics,names,%
      frame,get,grab,current,release,status,grid,columnconfigure,%
      rowconfigure,image,image,create,bitmap,photo,delete,height,types,%
      widt,names,index,insert,invoke,itemconfigure,label,listbox,lower,%
      menu,menubutton,message,move,option,add,clear,get,readfile,pack,%
      photo,place,radiobutton,raise,scale,scroll,scrollbar,search,see,%
      selection,send,stdin,stdout,stderr,tag,bind,text,tk,tkerror,%
      tkwait,window,variable,visibility,toplevel,unknown,update,winfo,%
      class,exists,ismapped,parent,reqwidth,reqheight,rootx,rooty,%
      width,height,wm,aspect,client,command,deiconify,focusmodel,frame,%
      geometry,group,iconbitmap,iconify,iconmask,iconname,iconposition,%
      iconwindow,maxsize,minsize,overrideredirect,positionfrom,%
      protocol,sizefrom,state,title,transient,withdraw,xview,yview,%
      yposition,%
      -accelerator,-activebackground,-activeborderwidth,%
      -activeforeground,-after,-anchor,-arrow,-arrowshape,-aspect,%
      -async,-background,-before,-bg,-bigincrement,-bitmap,-bordermode,%
      -borderwidth,-button,-capstyle,-channel,-class,-closeenough,%
      -colormap,-column,-columnspan,-command,-confine,-container,%
      -count,-cursor,-data,-default,-detail,-digits,-direction,%
      -displayof,-disableforeground,-elementborderwidth,-expand,%
      -exportselection,-extend,-family,-fg,-file,-fill,-focus,-font,%
      -fontmap,-foreground,-format,-from,-gamma,-global,-height,%
      -highlightbackground,-highlightcolor,-highlightthickness,-icon,%
      -image,-in,-insertbackground,-insertborderwidth,-insertofftime,%
      -insertontime,-imsertwidth,-ipadx,-ipady,-joinstyle,-jump,%
      -justify,-keycode,-keysym,-label,-lastfor,-length,-maskdata,%
      -maskfile,-menu,-message,-mode,-offvalue,-onvalue,-orient,%
      -outlien,-outlinestipple,-overstrike,-override,-padx,-pady,%
      -pageanchor,-pageheight,-pagewidth,-pagey,-pagey,-palette,%
      -parent,-place,-postcommand,-relheight,-relief,-relwidth,-relx,%
      -rely,-repeatdelay,-repeatinterval,-resolution,-root,-rootx,%
      -rooty,-rotate,-row,-rowspan,-screen,-selectcolor,-selectimage,%
      -sendevent,-serial,-setgrid,-showvalue,-shrink,-side,-size,%
      -slant,-sliderlength,-sliderrelief,-smooth,-splinesteps,-state,%
      -sticky,-stipple,-style,-subsample,-subwindow,-tags,-takefocus,%
      -tearoff,-tearoffcommand,-text,-textvariable,-tickinterval,-time,%
      -title,-to,-troughcolor,-type,-underline,-use,-value,-variable,%
      -visual,-width,-wrap,-wraplength,-x,-xscrollcommand,-y,%
      -bgstipple,-fgstipple,-lmargin1,-lmargin2,-rmargin,-spacing1,%
      -spacing2,-spacing3,-tabs,-yscrollcommand,-zoom,%
      activate,add,addtag,bbox,cget,clone,configure,coords,%
      curselection,debug,delete,delta,deselect,dlineinfo,dtag,dump,%
      entrycget,entryconfigure,find,flash,fraction,get,gettags,handle,%
      icursor,identify,index,insert,invoke,itemcget,itemconfigure,mark,%
      moveto,own,post,postcascade,postscript,put,redither,ranges,%
      scale,select,show,tag,type,unpost,xscrollcommand,xview,%
      yscrollcommand,yview,yposition}%
  }%
\lst@definelanguage[]{tcl}%
  {alsoletter={.:,*=&-},%
   morekeywords={after,append,array,names,exists,anymore,donesearch,%
      get,nextelement,set,size,startsearch,auto_mkindex,binary,break,%
      case,catch,cd,clock,close,concat,console,continue,default,else,%
      elseif,eof,error,eval,exec,-keepnewline,exit,expr,fblocked,%
      fconfigure,fcopy,file,atime,dirname,executable,exists,extension,%
      isdirectory,isfile,join,lstat,mtime,owned,readable,readlink,%
      rootname,size,stat,tail,type,writable,-permissions,-group,-owner,%
      -archive,-hidden,-readonly,-system,-creator,-type,-force,%
      fileevent,flush,for,foreach,format,gets,glob,global,history,if,%
      incr,info,argsbody,cmdcount,commands,complete,default,exists,%
      globals,level,library,locals,patchlevel,procs,script,tclversion,%
      vars,interp,join,lappend,lindex,linsert,list,llength,lrange,%
      lreplace,lsearch,-exact,-regexp,-glob,lsort,-ascii,-integer,%
      -real,-dictionary,-increasing,-decreasing,-index,-command,load,%
      namespace,open,package,forget,ifneeded,provide,require,unknown,%
      vcompare,versions,vsatisfies,pid,proc,puts,-nonewline,pwd,read,%
      regexp,-indices,regsub,-all,-nocaserename,return,scan,seek,set,%
      socket,source,split,string,compare,first,index,last,length,match,%
      range,tolower,toupper,trim,trimleft,trimright,subst,switch,tell,%
      time,trace,variable,vdelete,vinfo,unknown,unset,uplevel,upvar,%
      vwait,while,acos,asin,atan,atan2,ceil,cos,cosh,exp,floor,fmod,%
      hypot,log,log10,pow,sin,sinh,sqrt,tan,tanh,abs,double,int,round%
      },%
   morestring=[d]",%
   morecomment=[f]\#,%
   morecomment=[l]{;\#},%
   morecomment=[l]{[\#},%
   morecomment=[l]{\{\#}%
  }[keywords,comments,strings]%
%%
%% VBScript definition (c) 2000 Sonja Weidmann
%%
\lst@definelanguage{VBScript}%
  {morekeywords={Call,Case,Const,Dim,Do,Each,Else,End,Erase,Error,Exit,%
      Explicit,For,Function,If,Loop,Next,On,Option,Private,Public,%
      Randomize,ReDim,Rem,Select,Set,Sub,Then,Wend,While,Abs,Array,Asc,%
      Atn,CBool,CByte,CCur,CDate,CDbl,Chr,CInt,CLng,Cos,CreateObject,%
      CSng,CStr,Date,DateAdd,DateDiff,DatePart,DateSerial,DateValue,%
      Day,Exp,Filter,Fix,FormatCurrency,FormatDateTime,FormatNumber,%
      FormatPercent,GetObject,Hex,Hour,InputBox,InStr,InStrRev,Int,%
      IsArray,IsDate,IsEmpty,IsNull,IsNumeric,IsObject,Join,LBound,%
      LCase,Left,Len,LoadPicture,Log,LTrim,Mid,Minute,Month,MonthName,%
      MsgBox,Now,Oct,Replace,RGB,Right,Rnd,Round,RTrim,ScriptEngine,%
      ScriptEngineBuildVersion,ScriptEngineMajorVersion,%
      ScriptEngineMinorVersion,Second,Sgn,Sin,Space,Split,Sqr,StrComp,%
      StrReverse,String,Tan,Time,TimeSerial,TimeValue,Trim,TypeName,%
      UBound,UCase,VarType,Weekday,WeekdayName,Year, And,Eqv,Imp,Is,%
      Mod,Not,Or,Xor,Add,BuildPath,Clear,Close,Copy,CopyFile,%
      CopyFolder,CreateFolder,CreateTextFile,Delete,DeleteFile,%
      DeleteFolder,Dictionary,Drive,DriveExists,Drives,Err,Exists,File,%
      FileExists,FileSystemObject,Files,Folder,FolderExists,Folders,%
      GetAbsolutePathName,GetBaseName,GetDrive,GetDriveName,%
      GetExtensionName,GetFile,GetFileName,GetFolder,%
      GetParentFolderName,GetSpecialFolder,GetTempName,Items,Keys,Move,%
      MoveFile,MoveFolder,OpenAsTextStream,OpenTextFile,Raise,Read,%
      ReadAll,ReadLine,Remove,RemoveAll,Skip,SkipLine,TextStream,Write,%
      WriteBlankLines,WriteLine,Alias,Archive,CDROM,Compressed,%
      Directory,Fixed,ForAppending,ForReading,ForWriting,Hidden,Normal,%
      RAMDisk,ReadOnly,Remote,Removable,System,SystemFolder,%
      TemporaryFolder,TristateFalse,TristateTrue,TristateUseDefault,%
      Unknown,Volume,WindowsFolder,vbAbortRetryIgnore,%
      vbApplicationModal,vbArray,vbBinaryCompare,vbBlack,vbBlue,%
      vbBoolean,vbByte,vbCr,vbCrLf,vbCritical,vbCurrency,vbCyan,%
      vbDataObject,vbDate,vbDecimal,vbDefaultButton1,vbDefaultButton2,%
      vbDefaultButton3,vbDefaultButton4,vbDouble,vbEmpty,vbError,%
      vbExclamation,vbFirstFourDays,vbFirstFullWeek,vbFirstJan1,%
      vbFormFeed,vbFriday,vbGeneralDate,vbGreen,vbInformation,%
      vbInteger,vbLf,vbLong,vbLongDate,vbLongTime,vbMagenta,vbMonday,%
      vbNewLine,vbNull,vbNullChar,vbNullString,vbOKC,ancel,vbOKOnly,%
      vbObject,vbObjectError,vbQuestion,vbRed,vbRetryCancel,vbSaturday,%
      vbShortDate,vbShortTime,vbSingle,vbString,vbSunday,vbSystemModal,%
      vbTab,vbTextCompare,vbThursday,vbTuesday,vbUseSystem,%
      vbUseSystemDayOfWeek,vbVariant,vbVerticalTab,vbWednesday,vbWhite,%
      vbYellow,vbYesNo,vbYesNoCancel},%
   sensitive=f,%
   morecomment=[l]',%
   morestring=[d]"%
  }[keywords,comments,strings]%
%%
%% VRML definition (c) 2001 Oliver Baum
%%
\lst@definelanguage[97]{VRML}
  {morekeywords={DEF,EXTERNPROTO,FALSE,IS,NULL,PROTO,ROUTE,TO,TRUE,USE,%
      eventIn,eventOut,exposedField,field,Introduction,Anchor,%
      Appearance,AudioClip,Background,Billboard,Box,Collision,Color,%
      ColorInterpolator,Cone,Coordinate,CoordinateInterpolator,%
      Cylinder,CylinderSensor,DirectionalLight,ElevationGrid,Extrusion,%
      Fog,FontStyle,Group,ImageTexture,IndexedFaceSet,IndexedLineSet,%
      Inline,LOD,Material,MovieTexture,NavigationInfo,Normal,%
      NormalInterpolator,OrientationInterpolator,PixelTexture,%
      PlaneSensor,PointLight,PointSet,PositionInterpolator,%
      ProximitySensor,ScalarInterpolator,Script,Shape,Sound,Sphere,%
      SphereSensor,SpotLight,Switch,Text,TextureCoordinate,%
      TextureTransform,TimeSensor,TouchSensor,Transform,Viewpoint,%
      VisibilitySensor,WorldInfo},%
   morecomment=[l]\#,% bug: starts comment in the first column
   morestring=[b]"%
  }[keywords,comments,strings]
\endinput
%%
%% End of file `lstlang2.sty'.
