%%
%% This is file `lstlang3.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% lstdrvrs.dtx  (with options: `lang3')
%% 
%% The listings package is copyright 1996--2004 Carsten Heinz, and
%% continued maintenance on the package is copyright 2006--2007 Brooks
%% Moses. From 2013 on the maintenance is done by Jobst Hoffmann.
%% The drivers are copyright 1997/1998/1999/2000/2001/2002/2003/2004/2006/
%% 2007/2013 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 Jobst Hoffmann at <j.hoffmann@fh-aachen.de>.
%%
\ProvidesFile{lstlang3.sty}
    [2015/06/04 1.6 listings language file]
\lst@definelanguage[68]{Algol}%
  {morekeywords={abs,and,arg,begin,bin,bits,bool,by,bytes,case,channel,%
      char,co,comment,compl,conj,divab,do,down,elem,elif,else,empty,%
      end,entier,eq,esac,exit,false,fi,file,flex,for,format,from,ge,%
      goto,gt,heap,if,im,in,int,is,isnt,le,leng,level,loc,long,lt,lwb,%
      minusab,mod,modab,mode,ne,nil,not,od,odd,of,op,or,ouse,out,over,%
      overab,par,plusab,plusto,pr,pragmat,prio,proc,re,real,ref,repr,%
      round,sema,shl,short,shorten,shr,sign,skip,string,struct,then,%
      timesab,to,true,union,up,upb,void,while},%
   sensitive=f,% ???
   morecomment=[s]{\#}{\#},%
   keywordcomment={co,comment}%
  }[keywords,comments,keywordcomments]%
\lst@definelanguage[60]{Algol}%
  {morekeywords={array,begin,Boolean,code,comment,div,do,else,end,%
      false,for,goto,if,integer,label,own,power,procedure,real,step,%
      string,switch,then,true,until,value,while},%
   sensitive=f,% ???
   keywordcommentsemicolon={end}{else,end}{comment}%
  }[keywords,keywordcomments]%
%%
%% 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]
%%
%% x86masm definition (c) 2002 Andrew Zabolotny
%%
\lst@definelanguage[x86masm]{Assembler}%
  {morekeywords={al,ah,ax,eax,bl,bh,bx,ebx,cl,ch,cx,ecx,dl,dh,dx,edx,%
      si,esi,di,edi,bp,ebp,sp,esp,cs,ds,es,ss,fs,gs,cr0,cr1,cr2,cr3,%
      db0,db1,db2,db3,db4,db5,db6,db7,tr0,tr1,tr2,tr3,tr4,tr5,tr6,tr7,%
      st,aaa,aad,aam,aas,adc,add,and,arpl,bound,bsf,bsr,bswap,bt,btc,%
      btr,bts,call,cbw,cdq,clc,cld,cli,clts,cmc,cmp,cmps,cmpsb,cmpsw,%
      cmpsd,cmpxchg,cwd,cwde,daa,das,dec,div,enter,hlt,idiv,imul,in,%
      inc,ins,int,into,invd,invlpg,iret,ja,jae,jb,jbe,jc,jcxz,jecxz,%
      je,jg,jge,jl,jle,jna,jnae,jnb,jnbe,jnc,jne,jng,jnge,jnl,jnle,%
      jno,jnp,jns,jnz,jo,jp,jpe,jpo,js,jz,jmp,lahf,lar,lea,leave,lgdt,%
      lidt,lldt,lmsw,lock,lods,lodsb,lodsw,lodsd,loop,loopz,loopnz,%
      loope,loopne,lds,les,lfs,lgs,lss,lsl,ltr,mov,movs,movsb,movsw,%
      movsd,movsx,movzx,mul,neg,nop,not,or,out,outs,pop,popa,popad,%
      popf,popfd,push,pusha,pushad,pushf,pushfd,rcl,rcr,rep,repe,%
      repne,repz,repnz,ret,retf,rol,ror,sahf,sal,sar,sbb,scas,seta,%
      setae,setb,setbe,setc,sete,setg,setge,setl,setle,setna,setnae,%
      setnb,setnbe,setnc,setne,setng,setnge,setnl,setnle,setno,setnp,%
      setns,setnz,seto,setp,setpe,setpo,sets,setz,sgdt,shl,shld,shr,%
      shrd,sidt,sldt,smsw,stc,std,sti,stos,stosb,stosw,stosd,str,sub,%
      test,verr,verw,wait,wbinvd,xadd,xchg,xlatb,xor,fabs,fadd,fbld,%
      fbstp,fchs,fclex,fcom,fcos,fdecstp,fdiv,fdivr,ffree,fiadd,ficom,%
      fidiv,fidivr,fild,fimul,fincstp,finit,fist,fisub,fisubr,fld,fld1,%
      fldl2e,fldl2t,fldlg2,fldln2,fldpi,fldz,fldcw,fldenv,fmul,fnop,%
      fpatan,fprem,fprem1,fptan,frndint,frstor,fsave,fscale,fsetpm,%
      fsin,fsincos,fsqrt,fst,fstcw,fstenv,fstsw,fsub,fsubr,ftst,fucom,%
      fwait,fxam,fxch,fxtract,fyl2x,fyl2xp1,f2xm1},%
   morekeywords=[2]{.align,.alpha,assume,byte,code,comm,comment,.const,%
      .cref,.data,.data?,db,dd,df,dosseg,dq,dt,dw,dword,else,end,endif,%
      endm,endp,ends,eq,equ,.err,.err1,.err2,.errb,.errdef,.errdif,%
      .erre,.erridn,.errnb,.errndef,.errnz,event,exitm,extrn,far,%
      .fardata,.fardata?,fword,ge,group,gt,high,if,if1,if2,ifb,ifdef,%
      ifdif,ife,ifidn,ifnb,ifndef,include,includelib,irp,irpc,label,%
      .lall,le,length,.lfcond,.list,local,low,lt,macro,mask,mod,.model,%
      name,ne,near,offset,org,out,page,proc,ptr,public,purge,qword,.%
      radix,record,rept,.sall,seg,segment,.seq,.sfcond,short,size,%
      .stack,struc,subttl,tbyte,.tfcond,this,title,type,.type,width,%
      word,.xall,.xcref,.xlist},%
   alsoletter=.,alsodigit=?,%
   sensitive=f,%
   morestring=[b]",%
   morestring=[b]',%
   morecomment=[l];%
   }[keywords,comments,strings]
%%
%% Clean definition (c) 1999 Jos\'e Romildo Malaquias
%%
%% Clean 1.3 :  some standard functional language: pure, lazy,
%%              polymorphic type system, modules, type classes,
%%              garbage collection, functions as first class citizens
%%
\lst@definelanguage{Clean}%
  {otherkeywords={:,::,=,:==,=:,=>,->,<-,<-:,\{,\},\{|,|\},\#,\#!,|,\&,%
      [,],!,.,\\\\,;,_},%
   morekeywords={from,definition,implementation,import,module,system,%
      case,code,if,in,let,let!,of,where,with,infix,infixl,infixr},%
   morendkeywords={True,False,Start,Int,Real,Char,Bool,String,World,%
      File,ProcId},%
   sensitive,%
   morecomment=[l]//,% missing comma: Markus Pahlow
   morecomment=[n]{/*}{*/},%
   morestring=[b]"%
  }[keywords,comments,strings]%
\lst@definelanguage{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]%
\lst@definelanguage{Comal 80}%
  {morekeywords={AND,AUTO,CASE,DATA,DEL,DIM,DIV,DO,ELSE,ENDCASE,ENDIF,%
      ENDPROC,ENDWHILE,EOD,EXEC,FALSE,FOR,GOTO,IF,INPUT,INT,LIST,LOAD,%
      MOD,NEW,NEXT,NOT,OF,OR,PRINT,PROC,RANDOM,RENUM,REPEAT,RND,RUN,%
      SAVE,SELECT,STOP,TAB,THEN,TRUE,UNTIL,WHILE,ZONE},%
   sensitive=f,% ???
   morecomment=[l]//,%
   morestring=[d]"%
  }[keywords,comments,strings]%
\lst@definelanguage[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]%
\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]%
\lst@definelanguage{Elan}%
  {morekeywords={ABS,AND,BOOL,CAND,CASE,CAT,COLUMNS,CONCR,CONJ,CONST,%
      COR,DECR,DEFINES,DET,DIV,DOWNTO,ELIF,ELSE,END,ENDIF,ENDOP,%
      ENDPACKET,ENDPROC,ENDREP,ENDSELECT,FALSE,FI,FILE,FOR,FROM,IF,%
      INCR,INT,INV,LEAVE,LENGTH,LET,MOD,NOT,OF,OP,OR,OTHERWISE,PACKET,%
      PROC,REAL,REP,REPEAT,ROW,ROWS,SELECT,SIGN,STRUCT,SUB,TEXT,THEN,%
      TRANSP,TRUE,TYPE,UNTIL,UPTO,VAR,WHILE,WITH,XOR,%
      maxint,sign,abs,min,max,random,initializerandom,subtext,code,%
      replace,text,laenge,pos,compress,change,maxreal,smallreal,floor,%
      pi,e,ln,log2,log10,sqrt,exp,tan,tand,sin,sind,cos,cosd,arctan,%
      arctand,int,real,lastconversionok,put,putline,line,page,get,%
      getline,input,output,sequentialfile,maxlinelaenge,reset,eof,%
      close,complexzero,complexone,complexi,complex,realpart,imagpart,%
      dphi,phi,vector,norm,replace,matrix,idn,row,column,sub,%
      replacerow,replacecolumn,replaceelement,transp,errorsstop,stop},%
   sensitive,%
   morestring=[d]"%
  }[keywords,strings]%
%%
%% Erlang definition (c) 2003 Daniel Gazard
%%
\lst@definelanguage{erlang}%
  {morekeywords={abs,after,and,apply,atom,atom_to_list,band,binary,%
      binary_to_list,binary_to_term,bor,bsl,bsr,bxor,case,catch,%
      date,div,element,erase,end,exit,export,float,float_to_list,%
      get,halt,hash,hd,if,info,import,integer,integer_to_list,%
      length,link,list,list_to_atom,list_to_float,list_to_integer,%
      list_to_tuple,module,node,nodes,now,of,or,pid,port,ports,%
      processes,put,receive,reference,register,registered,rem,%
      round,self,setelement,size,spawn,throw,time,tl,trace,trunc,%
      tuple,tuple_to_list,unlink,unregister,whereis,error,false,%
      infinity,nil,ok,true,undefined,when},%
   otherkeywords={->,!,[,],\{,\}},%
   morecomment=[l]\%,%
   morestring=[b]",%
   morestring=[b]'%
  }[keywords,comments,strings]%
\lst@definelanguage{Scala}%
  {morekeywords={abstract,case,catch,class,def,%
    do,else,extends,false,final,finally,%
    for,if,implicit,import,lazy,match,mixin,%
    new,null,object,override,package,%
    private,protected,requires,return,sealed,%
    super,this,trait,true,try,%
    type,val,var,while,with,yield},%+
otherkeywords={=,=>,<-,<\%,<:,>:,\#,@},%
   sensitive,%
   morecomment=[l]//,%
   morecomment=[n]{/*}{*/},%
   morestring=[b]",%
   morestring=[b]',%
   morestring=[b]""",%
  }[keywords,comments,strings]%
\lst@definelanguage{ksh}
  {morekeywords={alias,awk,cat,echo,else,elif,fi,exec,exit,%
      for,in,do,done,select,case,esac,while,until,function,%
      time,export,cd,eval,fc,fg,kill,let,pwd,read,return,rm,%
      glob,goto,history,if,logout,nice,nohup,onintr,repeat,sed,%
      set,setenv,shift,source,switch,then,umask,unalias,%
      unset,wait,@,env,argv,child,home,ignoreeof,noclobber,%
      noglob,nomatch,path,prompt,shell,status,verbose,print,printf,%
      sqrt,BEGIN,END},%
   morecomment=[l]\#,%
   morestring=[d]",%
   morestring=[d]',%
   morestring=[d]`%
  }[keywords,comments,strings]%
\lst@definelanguage{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]%
\lst@definelanguage{LLVM}{%
  morekeywords={%
    ret,br,switch,indirectbr,invoke,resume,unreachable,%
    add,fadd,sub,fsub,mul,fmul,udiv,sdiv,fdiv,urem,srem,frem,%
    shl,lshr,ashr,and,or,xor,%
    extractelement,insertelement,shufflevector,%
    extractvalue,insertvalue,%
    alloca,load,store,fence,cmpxchg,atomicrmw,getelementptr,%
    trunc,zext,sext,fptrunc,fpext,fptoui,fptosi,uitofp,sitofp,ptrtoint,%
    inttoptr,bitcast,to,%
    icmp,fcmp,phi,select,call,va_arg,landingpad,%
    xchg,add,sub,and,nand,or,xor,max,min,umax,umin,%
    eq,ne,ugt,uge,ult,ule,sgt,sge,slt,sle,%
    false,oeq,ogt,oge,olt,ole,one,ord,ueq,ugt,uge,ult,ule,une,uno,true,%
    private,linker_private,linker_private_weak,linker_private_weak_def_auto,%
    internal,available_externally,linkonce,common,weak,appending,extern_weak,%
    linkonce_odr,weak_odr,external,dllimport,dllexport,%
    define,declare,%
    zeroext,signext,inreg,byval,sret,noalias,nocapture,next,%
    gc,%
    address_safety,alignstack,alwaysinline,nonlazybind,inlinehint,naked,%
    noimplicitfloat,noinline,noredzone,noreturn,nounwind,optsize,readnone,%
    readonly,returns_twice,ssp,sspreq,uwtable,%
    module,asm,%
    target,datalayout,%
    sideeffect,alignstack,%
    nuw,nsw,exact,inbounds,unnamed_addr},%
  morekeywords=[2]{%
    i1,i2,i4,i8,i16,i32,i64,i128,i256,i512,i1024,% <-- Most common integers
    half,float,double,x86_fp80,fp128,ppc_fp128,x86mmx,%
    void,label,metadata},%
  alsoletter=.,%
  sensitive=false,%
  morecomment=[l];,%
  morestring=[b]"%
}
\lst@definelanguage{Logo}%
  {morekeywords={and,atan,arctan,both,break,bf,bl,butfirst,butlast,%
      cbreak, close,co,continue,cos,count,clearscreen,cs,debquit,%
      describe,diff,difference,ed,edit,either,emptyp,equalp,er,erase,%
      errpause,errquit,fifp,filefprint,fifty,fileftype,fip,fileprint,%
      fird,fileread,fity,filetype,fiwd,fileword,f,first,or,fp,fprint,%
      fput,fty,ftype,full,fullscreen,go,bye,goodbye,gprop,greaterp,%
      help,if,iff,iffalse,ift,iftrue,nth,item,keyp,llast,lessp,list,%
      local,lput,make,max,maximum,memberp,memtrace,min,minimum,namep,%
      not,numberp,oflush,openr,openread,openw,openwrite,op,output,%
      pause,plist,pots,pow,pprop,pps,pr,print,product,quotient,random,%
      rc,readchar,rl,readlist,remprop,repcount,repeat,request,rnd,run,%
      se,sentence,sentencep,setc,setcolor,setipause,setqpause,po,show,%
      sin,split,splitscreen,sqrt,stop,sum,test,text,textscreen,thing,%
      to,tone,top,toplevel,type,untrace,wait,word,wordp,yaccdebug,is,%
      mod,remainder,trace,zerop,back,bk,bto,btouch,fd,forward,fto,%
      ftouch,getpen,heading,hit,hitoot,ht,hideturtle,loff,lampoff,lon,%
      lampon,lt,left,lot,lotoot,lto,ltouch,penc,pencolor,pd,pendown,pe,%
      penerase,penmode,pu,penup,px,penreverse,rt,right,rto,rtouch,%
      scrunch,seth,setheading,setscrun,setscrunch,setxy,shownp,st,%
      showturtle,towardsxy,clean,wipeclean,xcor,ycor,tur,turtle,%
      display,dpy},%
   sensitive=f% ???
  }[keywords]%
%%
%% MetaPost definition (c) 2004 Brooks Moses
%%   This definition is based on the language specifications
%%   contained in the _User's Manual for Metapost_, with the core
%%   language enhancements that are described in the _Drawing
%%   Graphs with MetaPost_ documentation.
%%
\lst@definelanguage{MetaPost}%
  {% keywords[1] = MetaPost primitives (not found in following tables)
   morekeywords={end,begingroup,endgroup,beginfig,endfig,def,vardef,%
      primary,secondary,tertiary,primarydef,secondarydef,tertiarydef,%
      expr,suffix,text,enddef,if,fi,else,elseif,for,forsuffixes,%
      forever,endfor,upto,downto,stop,until,tension,controls,on,off,%
      btex,etex,within,input},
   % keywords[2] = Operators (Tables 6-9 in MetaPost User's manual)
   morekeywords=[2]{abs,and,angle,arclength,arctime,ASCII,bbox,bluepart,%
      boolean,bot,ceiling,center,char,color,cosd,cutafter,cutbefore,%
      cycle,decimal,dir,direction,directionpoint,directiontime,div,%
      dotprod,floor,fontsize,greenpart,hex,infont,intersectionpoint,%
      intersectiontimes,inverse,known,length,lft,llcorner,lrcorner,%
      makepath,makepen,mexp,mlog,mod,normaldeviate,not,numeric,oct,%
      odd,or,pair,path,pen,penoffset,picture,point,postcontrol,%
      precontrol,redpart,reverse,rotated,round,rt,scaled,shifted,%
      sind,slanted,sqrt,str,string,subpath,substring,top,transform,%
      transformed,ulcorner,uniformdeviate,unitvector,unknown,%
      urcorner,whatever,xpart,xscaled,xxpart,xypart,ypart,yscaled,%
      yxpart,yypart,zscaled,of,reflectedabout,rotatedaround,ulft,urt,%
      llft,lrt,readfrom,write,stroked,filled,textual,clipped,bounded,%
      pathpart,penpart,dashpart,textpart,fontpart},%
   % keywords[3] = Commands (Table 10)
   morekeywords=[3]{addto,clip,cutdraw,draw,drawarrow,drawdblarrow,%
      fill,filldraw,interim,let,loggingall,newinternal,pickup,%
      save,setbounds,shipout,show,showdependencies,showtoken,%
      showvariable,special,tracingall,tracingnone,undraw,unfill,%
      unfilldraw,to,also,contour,doublepath,withcolor,withpen,%
      dashed,randomseed},%
   % keywords[4] = Function-Like Macros (Table 11)
   morekeywords=[4]{boxit,boxjoin,bpath,buildcycle,circleit,dashpattern,%
      decr,dotlabel,dotlabels,drawboxed,drawboxes,drawoptions,%
      drawunboxed,fixpos,fixsize,incr,interpath,label,labels,max,min,pic,%
      thelabel,z,image},%
   % keywords[5] = Internal and Predefined Variables (Tables 3, 4)
   morekeywords=[5]{ahangle,ahlength,bboxmargin,charcode,circmargin,%
      day,defaultdx,defaultdy,defaultpen,defaultscale,labeloffset,%
      linecap,linejoin,miterlimit,month,pausing,prologues,showstopping,%
      time,tracingcapsules,tracingchoices,tracingcommands,%
      tracingequations,tracinglostchars,tracingmacros,tracingonline,%
      tracingoutput,tracingrestores,tracingspecs,tracingstats,%
      tracingtitles,truecorners,warningcheck,year},
   morekeywords=[5]{background,currentpen,currentpicture,cuttings,%
      defaultfont},%
   % keywords[6] = Predefined Constants (Table 5)
   morekeywords=[6]{beveled,black,blue,bp,butt,cc,cm,dd,ditto,down,%
      epsilon,evenly,false,fullcircle,green,halfcircle,identity,%
      in,infinity,left,mitered,mm,nullpicture,origin,pc,pencircle,%
      pt,quartercircle,red,right,rounded,squared,true,unitsquare,%
      up,white,withdots},
   sensitive=false,%
   alsoother={0123456789$},%
   morecomment=[l]\%,%
   morestring=[mf]{input\ },%
   morestring=[b]"%
  }[keywords,comments,strings,mf]%
%%
%% Mizar definition (c) 2003 Adam Grabowski
%%
%% Mizar is freely available at URL www.mizar.org for the Linux x86,
%% Solaris x86, and Windows operating systems.
%%
\lst@definelanguage{Mizar}%
  {otherkeywords={->,(\#,\#),.=),\&},%
   morekeywords={vocabulary,constructors,$1,$1,$2,$3,$4,$5,$6,$7,$8,%
      @proof,according,aggregate,and,antonym,as,associativity,assume,%
      asymmetry,attr,be,begin,being,by,canceled,case,cases,cluster,%
      clusters,coherence,commutativity,compatibility,connectedness,%
      consider,consistency,constructors,contradiction,correctness,def,%
      deffunc,define,definition,definitions,defpred,end,environ,equals,%
      ex,exactly,existence,for,from,func,given,hence,hereby,holds,%
      idempotence,if,iff,implies,involutiveness,irreflexivity,is,it,%
      let,means,mode,non,not,notation,now,of,or,otherwise,over,per,%
      pred,prefix,projectivity,proof,provided,qua,reconsider,redefine,%
      reflexivity,requirements,reserve,scheme,schemes,section,selector,%
      set,st,struct,such,suppose,symmetry,synonym,take,that,the,then,%
      theorem,theorems,thesis,thus,to,transitivity,uniqueness,%
      vocabulary,where},%
   sensitive=t,%
   morecomment=[l]::%
  }[keywords,comments]%
\lst@definelanguage{Modula-2}%
  {morekeywords={AND,ARRAY,BEGIN,BY,CASE,CONST,DIV,DO,ELSE,ELSIF,END,%
      EXIT,EXPORT,FOR,FROM,IF,IMPLEMENTATION,IMPORT,IN,MOD,MODULE,NOT,%
      OF,OR,POINTER,PROCEDURE,QUALIFIED,RECORD,REPEAT,RETURN,SET,THEN,%
      TYPE,UNTIL,VAR,WHILE,WITH,ABS,BITSET,BOOLEAN,CAP,CARDINAL,CHAR,%
      CHR,DEC,EXCL,FALSE,FLOAT,HALT,HIGH,INC,INCL,INTEGER,LONGCARD,%
      LONGINT,LONGREAL,MAX,MIN,NIL,ODD,ORD,PROC,REAL,SIZE,TRUE,TRUNC,%
      VAL,DEFINITION,LOOP},% added keywords due to Peter Bartke 99/07/22
   sensitive,%
   morecomment=[n]{(*}{*)},%
   morestring=[d]',%
   morestring=[d]"%
  }[keywords,comments,strings]%
\lst@definelanguage{MuPAD}{%
   morekeywords={end,next,break,if,then,elif,else,end_if,case,end_case,%
      otherwise,for,from,to,step,downto,in,end_for,while,end_while,%
      repeat,until,end_repeat,or,and,not,xor,div,mod,union,minus,%
      intersect,subset,proc,begin,end_proc,domain,end_domain,category,%
      end_category,axiom,end_axiom,quit,delete,frame},%
   morekeywords=[2]{NIL,FAIL,TRUE,FALSE,UNKNOWN,I,RD_INF,RD_NINF,%
      RD_NAN,name,local,option,save,inherits,of,do},%
   otherkeywords={\%if,?,!,:=,<,>,=,<=,<>,>=,==>,<=>,::,..,...,->,%
      @,@@,\$},%
   sensitive=true,%
   morecomment=[l]{//},%
   morecomment=[n]{/*}{*/},%
   morestring=[b]",%
   morestring=[d]{`}%
  }[keywords,comments,strings]
\lst@definelanguage{NASTRAN}
  {morekeywords={ENDDATA},%
   morecomment=[l]$,%
   MoreSelectCharTable=%
        \lst@CArgX BEGIN\ BULK\relax\lst@CDef{}%
        {\lst@ifmode\else \ifnum\lst@length=\z@
             \lst@EnterMode{\lst@GPmode}{\lst@modetrue
                  \let\lst@currstyle\lst@gkeywords@sty}%
         \fi \fi}%
        {\ifnum\lst@mode=\lst@GPmode
             \lst@XPrintToken \lst@LeaveMode
         \fi}%
  }[keywords,comments]%
\lst@definelanguage{Oberon-2}%
  {morekeywords={ARRAY,BEGIN,BOOLEAN,BY,CASE,CHAR,CONST,DIV,DO,ELSE,%
      ELSIF,END,EXIT,FALSE,FOR,IF,IMPORT,IN,INTEGER,IS,LONGINT,%
      LONGREAL,LOOP,MOD,MODULE,NIL,OF,OR,POINTER,PROCEDURE,REAL,RECORD,%
      REPEAT,RETURN,SET,SHORTINT,THEN,TO,TRUE,TYPE,UNTIL,VAR,WHILE,%
      WITH,ABS,ASH,CAP,CHR,COPY,DEC,ENTIER,EXCL,HALT,INC,INCL,LEN,LONG,%
      MAX,MIN,NEW,ODD,ORD,SHORT,SIZE},%
   sensitive,%
   morecomment=[n]{(*}{*)},%
   morestring=[d]',%
   morestring=[d]"%
  }[keywords,comments,strings]%
%%
%% OCL definition (c) 2000 Achim D. Brucker
%%
%% You are allowed to use, modify and distribute this code either under
%% the terms of the LPPL (version 1.0 or later) or the GPL (version 2.0
%% or later).
%%
\lst@definelanguage[decorative]{OCL}[OMG]{OCL}
  {otherkeywords={@pre},%
   morendkeywords={name,attributes,associatoinEnds,operations,%
      supertypes,allSupertypes,allInstances,oclIsKindOf,oclIsTypeOf,%
      oclAsType,oclInState,oclIsNew,evaluationType,abs,floor,round,max,%
      min,div,mod,size,concat,toUpper,toLower,substring,includes,%
      excludes,count,includesAll,exludesAll,isEmpty,notEmpty,sum,%
      exists,forAll,isUnique,sortedBy,iterate,union,intersection,%
      including,excluding,symmetricDifference,select,reject,collect,%
      asSequence,asBag,asSequence,asSet,append,prepend,subSequence,at,%
      first,last,true,false,isQuery}%
  }%
\lst@definelanguage[OMG]{OCL}%
    {morekeywords={context,pre,inv,post},%
    ndkeywords={or,xor,and,not,implies,if,then,else,endif},%
    morekeywords=[3]{Boolean,Integer,Real,String,Set,Sequence,Bag,%
       OclType,OclAny,OclExpression,Enumeration,Collection,},%
    sensitive=t,%
    morecomment=[l]--,%
    morestring=[d]'%
   }[keywords,comments,strings]%
\lst@definelanguage{Plasm}%
  {sensitive=false,%
   morekeywords={aa,abs,ac,acolor,acos,actor,al,alias,align,and,%
      animation,animation,appearance,apply,ar,arc,as,asin,assoc,atan,%
      axialcamera,axialcameras,basehermite,bbox,bbox,bernstein,%
      bernsteinbasis,bezier,beziercurve,beziermanifold,bezierstripe,%
      beziersurface,bigger,biggest,bilinearsurface,binormal,%
      biquadraticsurface,black,blend,blue,bottom,box,brown,bspize,%
      bspline,bsplinebasis,c,cabinet,camera,cart,case,cat,catch,ceil,%
      centeredcameras,centralcavalier,char,charseq,choose,circle,%
      circumference,class,cmap,color,comp,computecoords,cone,%
      conicalsurface,cons,control,convexcoords,convexhull,coonspatch,%
      copy,cos,cosh,crease,crosspolytope,cube,cubiccardinal,%
      cubiccardinalbasis,cubichermite,cubicubspline,cubicubsplinebasis,%
      cuboid,curl,curvature,curve2cspath,curve2mapvect,cyan,cylinder,%
      cylindricalsurface,d,deboor,def,depol,depth_sort,depth_test,%
      derbernstein,derbernsteinbase,derbezier,determinant,difference,%
      differencepr,dim,dimetric,dirproject,displaygraph,displaynubspline,%
      displaynurbspline,distl,distr,div,divergence,dodecahedron,dot,down,%
      dp,drawedges,drawforks,drawtree,ds,dsphere,dump,dumprep,ellipse,%
      embed,end,eq,ex,exp,explode,export,extract_bodies,extract_polygons,%
      extract_wires,extrude,extrusion,fact,false,feature,ff,fillcolor,%
      filter,finitecone,first,flash,flashani,floor,fontcolor,fontheight,%
      fontspacing,fontwidth,fractalsimplex,frame,frame,frameflash,fromto,%
      gausscurvature,ge,grad,gradient,gradmap,gray,green,gt,help,hermite,%
      hermitebasis,hermitesurface,hexahedron,icosahedron,id,idnt,if,in,%
      inarcs,innerprod,inset,insl,insr,intersection,intersectionpr,%
      intervals,intmax,intmin,intsto,inv,isa,isanimpol,isbool,ischar,%
      isclosedshape,iscloseto,isempty,iseven,isfun,isfunvect,isge,isgt,%
      isint,isintneg,isinto,isintpos,isle,islt,ismat,ismatof,isnat,%
      isnull,isnum,isnumneg,isnumpos,isodd,isometric,isorthoshape,ispair,%
      ispoint,ispointseq,ispol,ispoldim,ispolytope,ispurepol,isreal,%
      isrealneg,isrealpos,isrealvect,isseq,isseqof,isshape,issimplex,%
      issqrmat,isstring,isvect,iszero,jacobian,join,joints,k,last,le,%
      left,leftcavalier,len,less,lesseq,lex,lift,light,linecolor,%
      linesize,list,ln,load,loadlib,loop,lt,lxmy,magenta,map,mapshapes,%
      markersize,mat,matdotprod,material,mathom,max,mean,meanpoint,med,%
      merge,mesh,min,minkowski,mirror,mixedprod,mk,mkframe,mkpol,%
      mkvector,mkversork,mod,model,move,mul,multextrude,mxby,mxmy,mxty,%
      myfont,n,nat2string,neq,ngon,norm2,normalmap,not,nu_grid,nubspline,%
      nubsplineknots,nurbspline,nurbsplineknots,octahedron,offset,%
      onepoint,open,optimize,or,orange,ord,ortho,orthoproject,orthox,%
      orthoy,orthoz,outarcs,outerloop,outerwarp,pairdiff,parallel,%
      pascaltriangle,pdiff,pdifference,permutahedron,permutations,%
      perspective,perspective,pi,pivotop,plane,planemapping,pmap,%
      points2shape,polar,polyline,polymarker,polypoint,power,powerset,%
      presort,principalnormal,print,prism,profileprodsurface,%
      progressivesum,project,projection,purple,pyramid,q,quadarray,%
      quadmesh,quote,r,raise,range,rationalbezier,rationalblend,%
      rationalbspline,rationalize,red,rev,reverse,rgbacolor,right,%
      rightcavalier,ring,rn,rotatedtext,rotationalsurface,rotn,rtail,%
      ruledsurface,rxmy,s,save,scalarmatprod,scalarvectprod,schlegel2d,%
      schlegel3d,sdifference,sdifferencepr,segment,sel,setand,setdiff,%
      setfontcolor,setor,setxor,sex,shape_0,shape_1,shape2points,%
      shape2pol,shapeclosed,shapecomb,shapediff,shapedist,%
      shapeinbetweening,shapeinf,shapejoin,shapelen,shapenorm,%
      shapenormal,shapeprod,shaperot,shapesum,shapesup,shapezero,shift,%
      showprop,sign,signal,simplex,simplexpile,sin,sinh,size,skeleton,%
      skew,smaller,smallest,solidifier,solidify,sort,sphere,spline,%
      splinesampling,splitcells,splitpols,sqr,sqrt,star,string,%
      stringtokens,struct,sub,svg,sweep,t,tail,tan,tangent,tanh,%
      tensorprodsurface,tetrahedron,text,texture,textwithattributes,%
      thinsolid,threepoints,time,tmax,tmin,top,torus,torusmap,trace,%
      trans,tree,trianglefan,trianglestripe,trimetric,true,truncone,tt,%
      tube,twopoints,uk,ukpol,ukpolf,union,unionpr,unitvect,unprune,up,%
      vect2dtoangle,vect2mat,vectdiff,vectnorm,vectprod,vectsum,view,%
      viewmodel,viewmodel,vrml,warp,warp,where,white,with,xcavalier,xor,%
      xquadarray,xx,ycavalier,yellow},%
   moredirectives={loadlib},%
   otherkeywords={-,+,*,**,/,~,|,..,^,\&,\&\&,\#,\#\#},%
   morecomment=[s]{\%}{\%},%
   morestring=[b]',%
   literate={~}{{$\sim$}}{1} {^}{$\wedge$}{1},%
  }[keywords,directives,comments,strings]%
\lst@definelanguage{PL/I}%
  {morekeywords={ABS,ATAN,AUTOMATIC,AUTO,ATAND,BEGIN,BINARY,BIN,BIT,%
      BUILTIN,BY,CALL,CHARACTER,CHAR,CHECK,COLUMN,COL,COMPLEX,CPLX,%
      COPY,COS,COSD,COSH,DATA,DATE,DECIMAL,DEC,DECLARE,DCL,DO,EDIT,%
      ELSE,END,ENDFILE,ENDPAGE,ENTRY,EXP,EXTERNAL,EXT,FINISH,FIXED,%
      FIXEDOVERFLOW,FOFL,FLOAT,FORMAT,GET,GO,GOTO,IF,IMAG,INDEX,%
      INITIAL,INIT,INTERNAL,INT,LABEL,LENGTH,LIKE,LINE,LIST,LOG,LOG2,%
      LOG10,MAIN,MAX,MIN,MOD,NOCHECK,NOFIXEDOVERFLOW,NOFOFL,NOOVERFLOW,%
      NOOFL,NOSIZE,NOUNDERFLOW,NOUFL,NOZERODIVIDE,NOZDIV,ON,OPTIONS,%
      OVERFLOW,OFL,PAGE,PICTURE,PROCEDURE,PROC,PUT,READ,REPEAT,RETURN,%
      RETURNS,ROUND,SIN,SIND,SINH,SIZE,SKIP,SQRT,STATIC,STOP,STRING,%
      SUBSTR,SUM,SYSIN,SYSPRINT,TAN,TAND,TANH,THEN,TO,UNDERFLOW,UFL,%
      VARYING,WHILE,WRITE,ZERODIVIDE,ZDIV},%
   sensitive=f,%
   morecomment=[s]{/*}{*/},%
   morestring=[d]'%
  }[keywords,comments,strings]%
%%
%% PostScript language definition (c) 2005 Christophe Jorssen.
%%
\lst@definelanguage{PostScript}{%
  morekeywords={abs,add,aload,anchorsearch,and,arc,arcn,arct,arcto,array,ashow,
    astore,atan,awidthshow,begin,bind,bitshift,bytesavailable,cachestatus,
    ceiling,charpath,clear,cleartomark,cleardictstack,clip,clippath,closefile,
    closepath,colorimage,concat,concatmatrix,condition,copy,copypage,cos,count,
    countdictstack,countexecstack,counttomark,cshow,currentblackgeneration,
    currentcacheparams,currentcmykcolor,currentcolor,currentcolorrendering,
    currentcolorscreen,currentcolorspace,currentcolortransfer,currentcontext,
    currentdash,currentdevparams,currentdict,currentfile,currentflat,currentfont,
    currentglobal,currentgray,currentgstate,currenthalftone,currenthalftonephase,
    currenthsbcolor,currentlinecap,currentlinejoin,currentlinewidth,currentmatrix,
    currentmiterlimit,currentobjectformat,currentpacking,currentpagedevice,
    currentpoint,currentrgbcolor,currentscreen,currentshared,currentstrokeadjust,
    currentsystemparams,currenttransfer,currentundercolorremoval,currentuserparams,
    curveto,cvi,cvlit,cvn,cvr,cvrs,cvs,cvx,def,defaultmatrix,definefont,
    defineresource,defineusername,defineuserobject,deletefile,detach,deviceinfo,
    dict,dictstack,div,dtransform,dup,
    echo,eexec,end,eoclip,eofill,eoviewclip,eq,erasepage,errordict,exch,exec,
    execform,execstack,execuserobject,executeonly,executive,exit,
    exp,false,file,filenameforall,fileposition,fill,filter,findencoding,findfont,
    findresource,flattenpath,floor,flush,flushfile,FontDirectory,for,forall,fork,ge,
    get,getinterval,globaldict,GlobalFontDirectory,glyphshow,grestore,grestoreall,
    gsave,gstate,gt,identmatrix,idiv,idtransform,if,ifelse,image,
    imagemask,index,ineofill,infill,initclip,initgraphics,initmatrix,initviewclip,
    instroke,internaldict,inueofill,inufill,inustroke,
    invertmatrix,ISOLatin1Encoding,itransform,join,kshow,
    known,languagelevel,le,length,lineto,ln,load,lock,log,loop,lt,
    makefont,makepattern,mark,matrix,maxlength,mod,monitor,moveto,mul,ne,neg,
    newpath,noaccess,not,notify,null,nulldevice,or,packedarray,
    pathbbox,pathforall,pop,print,printobject,product,prompt,pstack,put,putinterval,
    quit,rand,rcurveto,read,readhexstring,readline,readonly,readstring,
    realtime,rectclip,rectfill,rectstroke,rectviewclip,renamefile,repeat,resetfile,
    resourceforall,resourcestatus,restore,reversepath,revision,rlineto,rmoveto,roll,
    rootfont,rotate,round,rrand,run,save,scale,scalefont,scheck,search,selectfont,
    serialnumber,setbbox,setblackgeneration,setcachedevice,setcachedevice2,
    setcachelimit,setcacheparams,setcharwidth,setcmykcolor,setcolor,
    setcolorrendering,setcolorscreen,setcolorspace,setcolortransfer,setdash,
    setdevparams,setfileposition,setflat,setfont,setglobal,setgray,setgstate,
    sethalftone,sethalftonephase,sethsbcolor,setlinecap,setlinejoin,setlinewidth,
    setmatrix,setmiterlimit,setobjectformat,setoverprint,setpacking,setpagedevice,
    setpattern,setrgbcolor,setscreen,setshared,setstrokeadjust,setsystemparams,
    settransfer,setucacheparams,setundercolorremoval,setuserparams,setvmthreshold,
    shareddict,show,showpage,sin,sqrt,srand,stack,
    StandardEncoding,start,startjob,status,statusdict,stop,stopped,store,string,
    stringwidth,stroke,strokepath,sub,systemdict,transform,
    translate,true,truncate,type,token,uappend,ucache,ucachestatus,
    ueofill,ufill,undef,
    upath,userdict,UserObjects,
    usertime,ustroke,ustrokepath,version,viewclip,viewclippath,vmreclaim,
    vmstatus,wait,wcheck,where,widthshow,write,writehexstring,writeobject,
    writestring,wtranslation,xcheck,xor,xshow,xyshow,yield,yshow},
  sensitive,
  morecomment=[l]\%}[keywords,comments]
%%
%% Promela definition (c) 2004 William Thimbleby
%%
\lst@definelanguage{Promela}
  {morekeywords={active,assert,atomic,bit,bool,break,byte,chan,d_step,%
      Dproctype,do,else,empty,enabled,fi,full,goto,hidden,if,init,int,%
      len,mtype,nempty,never,nfull,od,of,pcvalue,printf,priority,%
      proctype,provided,run,short,skip,timeout,typedef,unless,unsigned,%
      xr,xs,true,false,inline,eval},%
   moredirectives={define,ifdef,ifndef,if,if,else,endif,undef,include},%
   moredelim=*[directive]\#,%
   morecomment=[s]{/*}{*/},%
   morestring=[b]"%
  }[keywords,comments,strings,directives]%
%%
%% PSTricks definition (c) 2006 Herbert Voss
%%
\lst@definelanguage{PSTricks}%
  {morekeywords={%
    begin,end,definecolor,multido,%
    KillGlue,DontKillGlue,pslbrace,bsrbrace,psscalebox,psset,pstVerb,pstverb,%
    pst@def,,psframebox,psclip,endclip,endpspicture,psframe,
%%    pspicture,%
    multirput,multips,Rput,rput,uput,cput,lput,%
    newrgbcolor,newgray,newcmykcolor,
%%
%% pstricks-add
    psStep,psgraph,psbrace,psPrintValue,
%%
%% pst-plot
    psvlabel,pshlabel,psplot,psline,pscustom,pscurve,psccurve,%
    readdata,savedata,fileplot,dataplot,listplot,%
    psecurce,psgraph,parametricplot,%
    psellipse,psaxes,ncline,nccurve,psbezier,parabola,%
    qdisk,qline,clipbox,endpsclip,%
    psgrid,pscircle,pscirclebox,psdiabox,pstribox,%
    newpsfontdot,psdot,psdots,%
    pspolygon,psdiamond,psoval,pstriangle,%
    psarc,psarcn,psellipticarc,psellipticarcn,pswedge,psellipticwedge,
    pcline,pcdiag,pcdiagg,pccurve,pccurve,pcecurve,%
    scalebox,scaleboxto,psmathboxtrue,everypsbox,psverbboxtrue,overlaybox,%
    psoverlay,putoverlaybox,%
    newpsstyle,newpsobject,%
    moveto,newpath,closepath,stroke,fill,gsave,grestore,msave,mrestore,translate,scale,%
    swapaxes,rotate,openshadow,closedshadow,movepath,lineto,rlineto,curveto,rcurveto,%
    code,dim,coor,rcoor,file,arrows,setcolor,%
    rotateleft,rotateright,rotatedown,%
%%
%% pst-node
    nput,naput,nbput,ncput,%
    ncarc,ncbox,ncangle,ncangles,ncloop,ncdiag,ncdiagg,ncarcbox,ncbar,%
    cnodeput,nccircle,%
    pnode,rnode,Rnode,Cnode,cnode,fnode,%
    circlenode,ovalnode,trinode,dianode,%
    psmatrix,endpsmatrix,psspan,%
%%
%% pst-tree
    pstree,Tcircle,TCircle,Ttri,Tn,TC,Tc,Tfan,TR,Tr,Tdia,Toval,Tdot,Tp,Tf,%
    skiplevel,skiplevels,endskiplevels,tspace,tlput,%
%%
%% pst-text
    pscharpath,pstextpath,
%%
%% pst-barcode
    psbarcode,
%%
%% pst-coil
    psboxfill,pscoil,psCoil,pszigzag,nccoil,
    psshadow,pstilt,psTilt,ThreeDput,
%%
%% pst-gr3d
    PstGridThreeDNodeProcessor,%
%%
%% pst-vue3d
    PstGridThreeD,
    AxesThreeD,LineThreeD,DieThreeD,FrameThreeD,SphereCircleThreeD,SphereMeridienThreeD,
    QuadrillageThreeD,TetraedreThreeD,PyramideThreeD,ConeThreeD,CylindreThreeD,
    DodecahedronThreeD,ConeThreeD,SphereThreeD,SphereInverseThreeD,DemiSphereThreeD,
    SphereCreuseThreeD,SphereCircledThreeD,PortionSphereThreeD,pNodeThreeD,CubeThreeD,%
%%
%% pst-3dplot
    pstThreeDCoor,pstThreeDDot,pstThreeDTriangle,pstThreeDCircle,pstPlanePut,%
    pstThreeDBox,pstThreeDEllipse,pstThreeDLine,pstThreeDPut,%
    pstThreeDNode,pstThreeDSquare,psplotThreeD,parametricplotThreeD,fileplotThreeD,%
    dataplotThreeD,pstScalePoints,%
%%
%% pst-circ
    resistor,battery,Ucc,Icc,capacitor,coil,diode,Zener,LED,lamp,switch,wire,tension,
    circledipole,multidipole,OA,transistor,Tswitch,potentiometer,transformer,
    optoCoupler,logic,
%%
%% pst-eucl
    pstTriangle,pstMediatorAB,pstInterLL,pstMiddleAB,pstProjection,pstCircleOA,pstLineAB,%
%%
%% pst-func
    psBessel,psPolynomial,psFourier,psGaussI,psGauss,psSi,pssi,psCi,psci,%
%%
%% pst-infixplot
    psPlot,
%%
%% pst-ob3d
    PstDie,PstCube,
%%
%% pst-poly
    PstPolygon,pspolygonbox,
%%
%% pst-bar
    psbarchart,readpsbardata,psbarscale,newpsbarstyle,%
%%
%% pst-lens
    PstLens,%
%%
%% pst-geo
    WorldMap,WorldMapII,WorldMapThreeD,WorldMapThreeDII,pnodeMap,MapPut,%
%%
%% pst-autoseg
    asr,firstnode,merge,massoc,labelmerge,%
%%
%% gastex
    node,imark,fmark,rmark,drawqbpedge,drawedge,drawloop,%
%%
%% pst-labo
    Distillation,Ballon,
%%
%% pst-optic
    lens,Transform,%
%%
%% pst-light3d
    PstLightThreeDText,%
%%
%% calendrier
    Calendrier,%
%%
%% pst-osci
    Oscillo%
  },%
   sensitive,%
   alsoother={0123456789$_},%
   morecomment=[l]\% %
  }[keywords,comments]%
%%
%% Reduce definition (c) 2002 Geraint Paul Bevan
%%
\lst@definelanguage{Reduce}%
  {morekeywords={%
%% reserved identifiers
abs,acos,acosh,acot,acoth,acsc,acsch,%
adjprec,algebraic,algint,allbranch,allfac,and,%
antisymmetric,append,arglength,array,asec,asech,%
asin,asinh,atan,atan2,atanh,begin,bfspace,bye,%
card_no,ceiling,clear,clearrules,coeff,coeffn,%
cofactor,combineexpt,combinelogs,comment,comp,%
complex,conj,cons,cont,cos,cosh,cot,coth,cramer,%
cref,csc,csch,decompose,define,defn,deg,demo,den,%
depend,det,df,difference,dilog,display,div,do,e,%
echo,ed,editdef,ei,end,eps,eq,equal,erf,errcont,%
evallhseqp,eval_mode,even,evenp,exp,expandlogs,%
expr,expt,ezgcd,factor,factorial,factorize,fexpr,%
first,fix,fixp,floor,for,forall,foreach,fort,%
fort_width,freeof,fullroots,g,gcd,geq,go,goto,%
greaterp,high_pow,hypot,i,if,ifactor,impart,in,%
index,infinity,infix,input,int,integer,interpol,%
intstr,k,korder,lambda,lcm,lcof,length,leq,lessp,%
let,lhs,linear,linelength,lisp,list,listargp,%
listargs,ln,load,load_package,log,log10,logb,%
low_pow,lterm,macro,mainvar,mass,mat,match,%
mateigen,matrix,max,mcd,member,memq,min,minus,mkid,%
modular,msg,mshell,multiplicities,nat,neq,nero,%
nextprime,nil,nodepend,noncom,nonzero,nosplit,%
nospur,nullspace,num,numberp,odd,off,on,operator,%
or,order,ordp,out,output,part,pause,period,pf,pi,%
plus,precedence,precise,precision,pret,pri,primep,%
print_precision,procedure,product,quit,quotient,%
random,random_new_seed,rank,rat,ratarg,rational,%
rationalize,ratpri,real,rederr,reduct,remainder,%
remfac,remind,repart,repeat,rest,resultant,retry,%
return,reverse,revpri,rhs,rlisp88,%
root_multiplicity,round,roundall,roundbf,rounded,%
saveas,savestructr,scalar,sec,sech,second,set,%
setmod,setq,share,showrules,showtime,shut,sign,sin,%
sinh,smacro,solve,solvesingular,spur,sqrt,structr,%
sub,sum,symbolic,symmetric,t,tan,tanh,third,time,%
times,tp,tra,trace,trfac,trigform,trint,until,%
varname,vecdim,vector,weight,when,where,while,%
write,ws,wtlevel,%
%% identifiers with spaces
%% for all,for each,go to,such that,%
},%
  sensitive=false,%
  morecomment=[l]\%,%
  morecomment=[s]{COMMENT}{;},%
  morecomment=[s]{COMMENT}{$},%
  morestring="%
 }[keywords,comments,strings]%
%%
%% RSL definition (c) 2004 Brian Christensen
%%
\lst@definelanguage{RSL}%
  {morekeywords={Bool,Char,devt_relation,Int,Nat,Real,Text,Unit,abs,any,%
      as,axiom,card,case,channel,chaos,class,do,dom,elems,else,elsif,end,%
      extend,false,for,hd,hide,if,in,inds,initialise,int,len,let,local,%
      object,of,out,post,pre,read,real,rng,scheme,skip,stop,swap,%
      test_case,theory,then,tl,true,type,until,use,value,variable,while,%
      with,write},%
literate=%
{<}{$<$}{1}%
{>}{$>$}{1}%
{[}{$[$}{1}%%
{]}{$]$}{1}%%
{^}{{\mbox{$\widehat{\;}$}}}{1}%%
{'}{{\raisebox{1ex}[1ex][0ex]{\protect\scriptsize$\prime$}}}{1}%%
{||}{{\mbox{$\parallel$}}}{2}%%
{|-}{$\vdash$}{1}%%
{|=|}{{\mbox{$\lceil\!\rceil\!\!\!\!\!\!\;\lfloor\!\rfloor$}}}{1}%%
{**}{$\uparrow$}{1}%
{/\\}{$\wedge$}{1}%%
{inter}{$\cap$}{1}%%
{-\\}{$\lambda$}{1}%%
{->}{$\rightarrow$}{1}%%
{-m->}{{\mbox{$\rightarrow \hspace{-2.5\lst@width} _{m}\;$}}}{1}%
{-~m->}{{\mbox{$\stackrel{\sim}{\mbox{$\rightarrow\hspace{-2.5\lst@width} _{m}\;$}}$}}}{1}%
{-~->}{{\mbox{$\stackrel{\sim}{\rightarrow}$}}}{1}%%
{-set}{\bf{-set}}{4}%%
{-list}{{$^{\ast}$}}{1}%%
{-inflist}{$^\omega$}{1}%
{-infset}{{\mbox{{\bf -infset}}}}{7}%
{\#}{$\circ$}{1}%
{:-}{{\raisebox{.4ex}{\tiny $\bullet$}}}{1}%%
{=}{$=$}{1}%%
{==}{$==$}{2}%%
{=>}{$\Rightarrow$}{1}%%
{\ is\protect\^^M}{{$\;\equiv$}}{2}%
{\ is\ }{{$\equiv$}}{3}%%
{\ isin\protect\^^M}{$\;\in$}{2}%%
{~}{$\sim$}{1}%%
{~=}{$\neq$}{1}%%
{~isin}{$\notin$}{1}%%
{+>}{$\mapsto$}{1}%%
{++}{}{1}%
{|^|}{{\mbox{$\lceil\!\rceil$}}}{1}%%
{\\/}{$\vee$}{1}%%
{exists}{$\exists$}{1}%%
{union}{$\cup$}{1}%%
{>=}{$\geq$}{1}%%
{><}{$\times$}{1}%%
{>>}{$\supset$}{1}%
{>>=}{$\supseteq$}{1}%%
{<=}{$\leq$}{1}%%
{<<}{$\subset$}{1}%
{<.}{$\langle$}{1}%%
{<<=}{$\subseteq$}{1}%%
{<->}{$\leftrightarrow$}{1}%%
{[=}{$\sqsubseteq$}{1}%%
{\{=}{$\preceq$}{1}%%
{\ all\protect\^^M}{$\forall$}{2}%%
{\ all\ }{$\forall$}{3}%%
{!!}{$\dagger$}{1}%%
{always}{$\Box$}{1}%%
{.>}{$\rangle$}{1}%%
{`alpha}{$\alpha$}{1}%
{`beta}{$\beta$}{1}%
{`gamma}{$\gamma$}{1}%
{`delta}{$\delta$}{1}%
{`epsilon}{$\epsilon$}{1}%
{`zeta}{$\zeta$}{1}%
{`eta}{$\eta$}{1}%
{`theta}{$\theta$}{1}%
{`iota}{$\iota$}{1}%
{`kappa}{$\kappa$}{1}%
{`mu}{$\mu$}{1}%
{`nu}{$\nu$}{1}%
{`xi}{$\xi$}{1}%
{`pi}{$\pi$}{1}%
{`rho}{$\rho$}{1}%
{`sigma}{$\sigma$}{1}%
{`tau}{$\tau$}{1}%
{`upsilon}{$\upsilon$}{1}%
{`phi}{$\phi$}{1}%
{`chi}{$\chi$}{1}%
{`psi}{$\psi$}{1}%
{`omega}{$\omega$}{1}%
{`Gamma}{$\Gamma$}{1}%
{`Delta}{$\Delta$}{1}%
{`Theta}{$\Theta$}{1}%
{`Lambda}{$\Lambda$}{1}%
{`Xi}{$\Xi$}{1}%
{`Pi}{$\Pi$}{1}%
{`Sigma}{$\Sigma$}{1}%
{`Upsilon}{$\Upsilon$}{1}%
{`Phi}{$\Phi$}{1}%
{`Psi}{$\Psi$}{1}%
{`Omega}{$\Omega$}{1},%
   sensitive=true,%
   morecomment=[l]{--},%
   morecomment=[s]{/*}{*/}%
  }[keywords,comments]%
\lst@definelanguage[IBM]{Simula}[DEC]{Simula}{}%
\lst@definelanguage[DEC]{Simula}[67]{Simula}%
  {morekeywords={and,eq,eqv,ge,gt,hidden,imp,le,long,lt,ne,not,%
      options,or,protected,short}%
  }%
\lst@definelanguage[CII]{Simula}[67]{Simula}%
  {morekeywords={and,equiv,exit,impl,not,or,stop}}%
\lst@definelanguage[67]{Simula}%
  {morekeywords={activate,after,array,at,before,begin,boolean,%
      character,class,comment,delay,detach,do,else,end,external,false,%
      for,go,goto,if,in,inner,inspect,integer,is,label,name,new,none,%
      notext,otherwise,prior,procedure,qua,reactivate,real,ref,resume,%
      simset,simulation,step,switch,text,then,this,to,true,until,value,%
      virtual,when,while},%
   sensitive=f,%
   keywordcommentsemicolon={end}{else,end,otherwise,when}{comment},%
   morestring=[d]",%
   morestring=[d]'%
  }[keywords,keywordcomments,strings]%
%%
%% SPARQL definition (c) 2006 Christoph Kiefer
%%
\lst@definelanguage{SPARQL}%
  {morekeywords={BASE,PREFIX,SELECT,DISTINCT,CONSTRUCT,DESCRIBE,ASK,%
        FROM,NAMED,WHERE,ORDER,BY,ASC,DESC,LIMIT,OFFSET,OPTIONAL,%
        GRAPH,UNION,FILTER,a,STR,LANG,LANGMATCHES,DATATYPE,BOUND,%
        isIRI,isURI,isBLANK,isLITERAL,REGEX,true,false},%
   sensitive=false,%
   morecomment=[l]\#,%
   morestring=[d]',%
   morestring=[d]"%
  }[keywords,comments,strings]%
\lst@definelanguage{S}[]{R}{}
\lst@definelanguage[PLUS]{S}[]{R}{}
\lst@definelanguage{R}%
  {keywords={abbreviate,abline,abs,acos,acosh,action,add1,add,%
      aggregate,alias,Alias,alist,all,anova,any,aov,aperm,append,apply,%
      approx,approxfun,apropos,Arg,args,array,arrows,as,asin,asinh,%
      atan,atan2,atanh,attach,attr,attributes,autoload,autoloader,ave,%
      axis,backsolve,barplot,basename,besselI,besselJ,besselK,besselY,%
      beta,binomial,body,box,boxplot,break,browser,bug,builtins,bxp,by,%
      c,C,call,Call,case,cat,category,cbind,ceiling,character,char,%
      charmatch,check,chol,chol2inv,choose,chull,class,close,cm,codes,%
      coef,coefficients,co,col,colnames,colors,colours,commandArgs,%
      comment,complete,complex,conflicts,Conj,contents,contour,%
      contrasts,contr,control,helmert,contrib,convolve,cooks,coords,%
      distance,coplot,cor,cos,cosh,count,fields,cov,covratio,wt,CRAN,%
      create,crossprod,cummax,cummin,cumprod,cumsum,curve,cut,cycle,D,%
      data,dataentry,date,dbeta,dbinom,dcauchy,dchisq,de,debug,%
      debugger,Defunct,default,delay,delete,deltat,demo,de,density,%
      deparse,dependencies,Deprecated,deriv,description,detach,%
      dev2bitmap,dev,cur,deviance,off,prev,,dexp,df,dfbetas,dffits,%
      dgamma,dgeom,dget,dhyper,diag,diff,digamma,dim,dimnames,dir,%
      dirname,dlnorm,dlogis,dnbinom,dnchisq,dnorm,do,dotplot,double,%
      download,dpois,dput,drop,drop1,dsignrank,dt,dummy,dump,dunif,%
      duplicated,dweibull,dwilcox,dyn,edit,eff,effects,eigen,else,%
      emacs,end,environment,env,erase,eval,equal,evalq,example,exists,%
      exit,exp,expand,expression,External,extract,extractAIC,factor,%
      fail,family,fft,file,filled,find,fitted,fivenum,fix,floor,for,%
      For,formals,format,formatC,formula,Fortran,forwardsolve,frame,%
      frequency,ftable,ftable2table,function,gamma,Gamma,gammaCody,%
      gaussian,gc,gcinfo,gctorture,get,getenv,geterrmessage,getOption,%
      getwd,gl,glm,globalenv,gnome,GNOME,graphics,gray,grep,grey,grid,%
      gsub,hasTsp,hat,heat,help,hist,home,hsv,httpclient,I,identify,if,%
      ifelse,Im,image,\%in\%,index,influence,measures,inherits,install,%
      installed,integer,interaction,interactive,Internal,intersect,%
      inverse,invisible,IQR,is,jitter,kappa,kronecker,labels,lapply,%
      layout,lbeta,lchoose,lcm,legend,length,levels,lgamma,library,%
      licence,license,lines,list,lm,load,local,locator,log,log10,log1p,%
      log2,logical,loglin,lower,lowess,ls,lsfit,lsf,ls,machine,Machine,%
      mad,mahalanobis,make,link,margin,match,Math,matlines,mat,matplot,%
      matpoints,matrix,max,mean,median,memory,menu,merge,methods,min,%
      missing,Mod,mode,model,response,mosaicplot,mtext,mvfft,na,nan,%
      names,omit,nargs,nchar,ncol,NCOL,new,next,NextMethod,nextn,%
      nlevels,nlm,noquote,NotYetImplemented,NotYetUsed,nrow,NROW,null,%
      numeric,\%o\%,objects,offset,old,on,Ops,optim,optimise,optimize,%
      options,or,order,ordered,outer,package,packages,page,pairlist,%
      pairs,palette,panel,par,parent,parse,paste,path,pbeta,pbinom,%
      pcauchy,pchisq,pentagamma,persp,pexp,pf,pgamma,pgeom,phyper,pico,%
      pictex,piechart,Platform,plnorm,plogis,plot,pmatch,pmax,pmin,%
      pnbinom,pnchisq,pnorm,points,poisson,poly,polygon,polyroot,pos,%
      postscript,power,ppoints,ppois,predict,preplot,pretty,Primitive,%
      print,prmatrix,proc,prod,profile,proj,prompt,prop,provide,%
      psignrank,ps,pt,ptukey,punif,pweibull,pwilcox,q,qbeta,qbinom,%
      qcauchy,qchisq,qexp,qf,qgamma,qgeom,qhyper,qlnorm,qlogis,qnbinom,%
      qnchisq,qnorm,qpois,qqline,qqnorm,qqplot,qr,Q,qty,qy,qsignrank,%
      qt,qtukey,quantile,quasi,quit,qunif,quote,qweibull,qwilcox,%
      rainbow,range,rank,rbeta,rbind,rbinom,rcauchy,rchisq,Re,read,csv,%
      csv2,fwf,readline,socket,real,Recall,rect,reformulate,regexpr,%
      relevel,remove,rep,repeat,replace,replications,report,require,%
      resid,residuals,restart,return,rev,rexp,rf,rgamma,rgb,rgeom,R,%
      rhyper,rle,rlnorm,rlogis,rm,rnbinom,RNGkind,rnorm,round,row,%
      rownames,rowsum,rpois,rsignrank,rstandard,rstudent,rt,rug,runif,%
      rweibull,rwilcox,sample,sapply,save,scale,scan,scan,screen,sd,se,%
      search,searchpaths,segments,seq,sequence,setdiff,setequal,set,%
      setwd,show,sign,signif,sin,single,sinh,sink,solve,sort,source,%
      spline,splinefun,split,sqrt,stars,start,stat,stem,step,stop,%
      storage,strstrheight,stripplot,strsplit,structure,strwidth,sub,%
      subset,substitute,substr,substring,sum,summary,sunflowerplot,svd,%
      sweep,switch,symbol,symbols,symnum,sys,status,system,t,table,%
      tabulate,tan,tanh,tapply,tempfile,terms,terrain,tetragamma,text,%
      time,title,topo,trace,traceback,transform,tri,trigamma,trunc,try,%
      ts,tsp,typeof,unclass,undebug,undoc,union,unique,uniroot,unix,%
      unlink,unlist,unname,untrace,update,upper,url,UseMethod,var,%
      variable,vector,Version,vi,warning,warnings,weighted,weights,%
      which,while,window,write,\%x\%,x11,X11,xedit,xemacs,xinch,xor,%
      xpdrows,xy,xyinch,yinch,zapsmall,zip},%
   otherkeywords={!,!=,~,$,*,\&,\%/\%,\%*\%,\%\%,<-,<<-,_,/},%
   alsoother={._$},%
   sensitive,%
   morecomment=[l]\#,%
   morestring=[d]",%
   morestring=[d]'% 2001 Robert Denham
  }%
\lst@definelanguage{SAS}%
  {procnamekeys={proc},%
   morekeywords={DATA,AND,OR,NOT,EQ,GT,LT,GE,LE,NE,INFILE,INPUT,DO,BY,%
      TO,SIN,COS,OUTPUT,END,PLOT,RUN,LIBNAME,VAR,TITLE,FIRSTOBS,OBS,%
      DELIMITER,DLM,EOF,ABS,DIM,HBOUND,LBOUND,MAX,MIN,MOD,SIGN,SQRT,%
      CEIL,FLOOR,FUZZ,INT,ROUND,TRUNC,DIGAMMA,ERF,ERFC,EXP,GAMMA,%
      LGAMMA,LOG,LOG2,LOG10,ARCOS,ARSIN,ATAN,COSH,SINH,TANH,TAN,%
      POISSON,PROBBETA,PROBBNML,PROBCHI,PROBF,PROBGAM,PROBHYPR,%
      PROBNEGB,PROBNORM,PROBT,BETAINV,CINV,FINV,GAMINV,PROBIT,TINV,CSS,%
      CV,KURTOSIS,MEAN,NMISS,RANGE,SKEWNESS,STD,STDERR,SUM,USS,NORMAL,%
      RANBIN,RANCAU,RANEXP,RANGAM,RANNOR,RANPOI,RANTBL,RANTRI,RANUNI,%
      UNIFORM,IF,THEN,ELSE,WHILE,UNTIL,DROP,KEEP,LABEL,DEFAULT,ARRAY,%
      MERGE,CARDS,CARDS4,PUT,SET,UPDATE,ABORT,DELETE,DISPLAY,LIST,%
      LOSTCARD,MISSING,STOP,WHERE,ARRAY,DROP,KEEP,WINDOW,LENGTH,RENAME,%
      RETAIN,MEANS,UNIVARIATE,SUMMARY,TABULATE,CORR,FREQ,FOOTNOTE,NOTE,%
      SHOW},%
   otherkeywords={!,!=,~,$,*,\&,_,/,<,>=,=<,>},%
   morestring=[d]'%
   }[keywords,comments,strings,procnames]%
\lst@definelanguage[AlLaTeX]{TeX}[LaTeX]{TeX}%
  {moretexcs={AtBeginDocument,AtBeginDvi,AtEndDocument,AtEndOfClass,%
      AtEndOfPackage,ClassError,ClassInfo,ClassWarning,%
      ClassWarningNoLine,CurrentOption,DeclareErrorFont,%
      DeclareFixedFont,DeclareFontEncoding,DeclareFontEncodingDefaults,%
      DeclareFontFamily,DeclareFontShape,DeclareFontSubstitution,%
      DeclareMathAccent,DeclareMathAlphabet,DeclareMathAlphabet,%
      DeclareMathDelimiter,DeclareMathRadical,DeclareMathSizes,%
      DeclareMathSymbol,DeclareMathVersion,DeclareOldFontCommand,%
      DeclareOption,DeclarePreloadSizes,DeclareRobustCommand,%
      DeclareSizeFunction,DeclareSymbolFont,DeclareSymbolFontAlphabet,%
      DeclareTextAccent,DeclareTextAccentDefault,DeclareTextCommand,%
      DeclareTextCommandDefault,DeclareTextComposite,%
      DeclareTextCompositeCommand,DeclareTextFontCommand,%
      DeclareTextSymbol,DeclareTextSymbolDefault,ExecuteOptions,%
      GenericError,GenericInfo,GenericWarning,IfFileExists,%
      InputIfFileExists,LoadClass,LoadClassWithOptions,MessageBreak,%
      OptionNotUsed,PackageError,PackageInfo,PackageWarning,%
      PackageWarningNoLine,PassOptionsToClass,PassOptionsToPackage,%
      ProcessOptionsProvidesClass,ProvidesFile,ProvidesFile,%
      ProvidesPackage,ProvideTextCommand,RequirePackage,%
      RequirePackageWithOptions,SetMathAlphabet,SetSymbolFont,%
      TextSymbolUnavailable,UseTextAccent,UseTextSymbol},%
   morekeywords={array,center,displaymath,document,enumerate,eqnarray,%
      equation,flushleft,flushright,itemize,list,lrbox,math,minipage,%
      picture,sloppypar,tabbing,tabular,trivlist,verbatim}%
  }%
\lst@definelanguage[LaTeX]{TeX}[common]{TeX}%
  {moretexcs={a,AA,aa,addcontentsline,addpenalty,addtocontents,%
      addtocounter,addtolength,addtoversion,addvspace,alph,Alph,and,%
      arabic,array,arraycolsep,arrayrulewidth,arraystretch,author,%
      baselinestretch,begin,bezier,bfseries,bibcite,bibdata,bibitem,%
      bibliography,bibliographystyle,bibstyle,bigskip,boldmath,%
      botfigrule,bottomfraction,Box,caption,center,CheckCommand,circle,%
      citation,cite,cleardoublepage,clearpage,cline,columnsep,%
      columnseprule,columnwidth,contentsline,dashbox,date,dblfigrule,%
      dblfloatpagefraction,dblfloatsep,dbltextfloatsep,dbltopfraction,%
      defaultscriptratio,defaultscriptscriptratio,depth,Diamond,%
      displaymath,document,documentclass,documentstyle,doublerulesep,%
      em,emph,endarray,endcenter,enddisplaymath,enddocument,%
      endenumerate,endeqnarray,endequation,endflushleft,endflushright,%
      enditemize,endlist,endlrbox,endmath,endminipage,endpicture,%
      endsloppypar,endtabbing,endtabular,endtrivlist,endverbatim,%
      enlargethispage,ensuremath,enumerate,eqnarray,equation,%
      evensidemargin,extracolsep,fbox,fboxrule,fboxsep,filecontents,%
      fill,floatpagefraction,floatsep,flushbottom,flushleft,flushright,%
      fnsymbol,fontencoding,fontfamily,fontseries,fontshape,fontsize,%
      fontsubfuzz,footnotemark,footnotesep,footnotetext,footskip,frac,%
      frame,framebox,fussy,glossary,headheight,headsep,height,hline,%
      hspace,I,include,includeonly,index,inputlineno,intextsep,%
      itemindent,itemize,itemsep,iterate,itshape,Join,kill,label,%
      labelsep,labelwidth,LaTeX,LaTeXe,leadsto,lefteqn,leftmargin,%
      leftmargini,leftmarginii,leftmarginiii,leftmarginiv,leftmarginv,%
      leftmarginvi,leftmark,lhd,lim,linebreak,linespread,linethickness,%
      linewidth,list,listfiles,listfiles,listparindent,lrbox,%
      makeatletter,makeatother,makebox,makeglossary,makeindex,%
      makelabel,MakeLowercase,MakeUppercase,marginpar,marginparpush,%
      marginparsep,marginparwidth,markboth,markright,math,mathbf,%
      mathellipsis,mathgroup,mathit,mathrm,mathsf,mathsterling,mathtt,%
      mathunderscore,mathversion,mbox,mdseries,mho,minipage,%
      multicolumn,multiput,NeedsTeXFormat,newcommand,newcounter,%
      newenvironment,newfont,newhelp,newlabel,newlength,newline,%
      newmathalphabet,newpage,newsavebox,newtheorem,nobreakspace,%
      nobreakspace,nocite,nocorr,nocorrlist,nofiles,nolinebreak,%
      nonumber,nopagebreak,normalcolor,normalfont,normalmarginpar,%
      numberline,obeycr,oddsidemargin,oldstylenums,onecolumn,oval,%
      pagebreak,pagenumbering,pageref,pagestyle,paperheight,paperwidth,%
      paragraphmark,parbox,parsep,partopsep,picture,poptabs,pounds,%
      protect,pushtabs,put,qbezier,qbeziermax,r,raggedleft,raisebox,%
      ref,refstepcounter,renewcommand,renewenvironment,restorecr,%
      reversemarginpar,rhd,rightmargin,rightmark,rmfamily,roman,Roman,%
      rootbox,rule,samepage,sbox,scshape,secdef,section,sectionmark,%
      selectfont,setcounter,settodepth,settoheight,settowidth,sffamily,%
      shortstack,showoutput,showoverfull,sloppy,sloppypar,slshape,%
      smallskip,sqsubset,sqsupset,SS,stackrel,stepcounter,stop,stretch,%
      subparagraphmark,subsectionmark,subsubsectionmark,sum,%
      suppressfloats,symbol,tabbing,tabbingsep,tabcolsep,tabular,%
      tabularnewline,textasciicircum,textasciitilde,textbackslash,%
      textbar,textbf,textbraceleft,textbraceright,textbullet,%
      textcircled,textcompwordmark,textdagger,textdaggerdbl,textdollar,%
      textellipsis,textemdash,textendash,textexclamdown,textfloatsep,%
      textfraction,textgreater,textheight,textit,textless,textmd,%
      textnormal,textparagraph,textperiodcentered,textquestiondown,%
      textquotedblleft,textquotedblright,textquoteleft,textquoteright,%
      textregistered,textrm,textsc,textsection,textsf,textsl,%
      textsterling,textsuperscript,texttrademark,texttt,textunderscore,%
      textup,textvisiblespace,textwidth,thanks,thefootnote,thempfn,%
      thempfn,thempfootnote,thepage,thepage,thicklines,thinlines,%
      thispagestyle,title,today,topfigrule,topfraction,topmargin,%
      topsep,totalheight,tracingfonts,trivlist,ttfamily,twocolumn,%
      typein,typeout,unboldmath,unitlength,unlhd,unrhd,upshape,usebox,%
      usecounter,usefont,usepackage,value,vector,verb,verbatim,vline,%
      vspace,width,%
      normalsize,small,footnotesize,scriptsize,tiny,large,Large,LARGE,%
      huge,Huge}%
  }%
\lst@definelanguage[plain]{TeX}[common]{TeX}%
  {moretexcs={advancepageno,beginsection,bf,bffam,bye,cal,cleartabs,%
      columns,dosupereject,endinsert,eqalign,eqalignno,fiverm,fivebf,%
      fivei,fivesy,folio,footline,hang,headline,it,itemitem,itfam,%
      leqalignno,magnification,makefootline,makeheadline,midinsert,mit,%
      mscount,nopagenumbers,normalbottom,of,oldstyle,pagebody,%
      pagecontents,pageinsert,pageno,plainoutput,preloaded,proclaim,rm,%
      settabs,sevenbf,seveni,sevensy,sevenrm,sl,slfam,supereject,%
      tabalign,tabs,tabsdone,tabsyet,tenbf,tenex,teni,tenit,tenrm,%
      tensl,tensy,tentt,textindent,topglue,topins,topinsert,tt,ttfam,%
      ttraggedright,vfootnote}%
  }%
\lst@definelanguage[common]{TeX}[primitive]{TeX}
  {moretexcs={active,acute,ae,AE,aleph,allocationnumber,allowbreak,%
      alpha,amalg,angle,approx,arccos,arcsin,arctan,arg,arrowvert,%
      Arrowvert,ast,asymp,b,backslash,bar,beta,bgroup,big,Big,bigbreak,%
      bigcap,bigcirc,bigcup,bigg,Bigg,biggl,Biggl,biggm,Biggm,biggr,%
      Biggr,bigl,Bigl,bigm,Bigm,bigodot,bigoplus,bigotimes,bigr,Bigr,%
      bigskip,bigskipamount,bigsqcup,bigtriangledown,bigtriangleup,%
      biguplus,bigvee,bigwedge,bmod,bordermatrix,bot,bowtie,brace,%
      braceld,bracelu,bracerd,braceru,bracevert,brack,break,breve,%
      buildrel,bullet,c,cap,cases,cdot,cdotp,cdots,centering,%
      centerline,check,chi,choose,circ,clubsuit,colon,cong,coprod,%
      copyright,cos,cosh,cot,coth,csc,cup,d,dag,dagger,dashv,ddag,%
      ddagger,ddot,ddots,deg,delta,Delta,det,diamond,diamondsuit,dim,%
      displaylines,div,do,dospecials,dot,doteq,dotfill,dots,downarrow,%
      Downarrow,downbracefill,egroup,eject,ell,empty,emptyset,endgraf,%
      endline,enskip,enspace,epsilon,equiv,eta,exists,exp,filbreak,%
      flat,fmtname,fmtversion,footins,footnote,footnoterule,forall,%
      frenchspacing,frown,gamma,Gamma,gcd,ge,geq,gets,gg,goodbreak,%
      grave,H,hat,hbar,heartsuit,hglue,hideskip,hidewidth,hom,%
      hookleftarrow,hookrightarrow,hphantom,hrulefill,i,ialign,iff,Im,%
      imath,in,inf,infty,int,interdisplaylinepenalty,%
      interfootnotelinepenalty,intop,iota,item,j,jmath,joinrel,jot,%
      kappa,ker,l,L,lambda,Lambda,land,langle,lbrace,lbrack,lceil,%
      ldotp,ldots,le,leavevmode,leftarrow,Leftarrow,leftarrowfill,%
      leftharpoondown,leftharpoonup,leftline,leftrightarrow,%
      Leftrightarrow,leq,lfloor,lg,lgroup,lhook,lim,liminf,limsup,line,%
      ll,llap,lmoustache,ln,lnot,log,longleftarrow,Longleftarrow,%
      longleftrightarrow,Longleftrightarrow,longmapsto,longrightarrow,%
      Longrightarrow,loop,lor,lq,magstep,magstep,magstephalf,mapsto,%
      mapstochar,mathhexbox,mathpalette,mathstrut,matrix,max,maxdimen,%
      medbreak,medskip,medskipamount,mid,min,models,mp,mu,multispan,%
      nabla,narrower,natural,ne,nearrow,neg,negthinspace,neq,newbox,%
      newcount,newdimen,newfam,newif,newinsert,newlanguage,newmuskip,%
      newread,newskip,newtoks,newwrite,next,ni,nobreak,nointerlineskip,%
      nonfrenchspacing,normalbaselines,normalbaselineskip,%
      normallineskip,normallineskiplimit,not,notin,nu,null,nwarrow,o,O,%
      oalign,obeylines,obeyspaces,odot,oe,OE,offinterlineskip,oint,%
      ointop,omega,Omega,ominus,ooalign,openup,oplus,oslash,otimes,%
      overbrace,overleftarrow,overrightarrow,owns,P,parallel,partial,%
      perp,phantom,phi,Phi,pi,Pi,pm,pmatrix,pmod,Pr,prec,preceq,prime,%
      prod,propto,psi,Psi,qquad,quad,raggedbottom,raggedright,rangle,%
      rbrace,rbrack,rceil,Re,relbar,Relbar,removelastskip,repeat,%
      rfloor,rgroup,rho,rhook,rightarrow,Rightarrow,rightarrowfill,%
      rightharpoondown,rightharpoonup,rightleftharpoons,rightline,rlap,%
      rmoustache,root,rq,S,sb,searrow,sec,setminus,sharp,showhyphens,%
      sigma,Sigma,sim,simeq,sin,sinh,skew,slash,smallbreak,smallint,%
      smallskip,smallskipamount,smash,smile,sp,space,spadesuit,sqcap,%
      sqcup,sqrt,sqsubseteq,sqsupseteq,ss,star,strut,strutbox,subset,%
      subseteq,succ,succeq,sum,sup,supset,supseteq,surd,swarrow,t,tan,%
      tanh,tau,TeX,theta,Theta,thinspace,tilde,times,to,top,tracingall,%
      triangle,triangleleft,triangleright,u,underbar,underbrace,%
      uparrow,Uparrow,upbracefill,updownarrow,Updownarrow,uplus,%
      upsilon,Upsilon,v,varepsilon,varphi,varpi,varrho,varsigma,%
      vartheta,vdash,vdots,vec,vee,vert,Vert,vglue,vphantom,wedge,%
      widehat,widetilde,wlog,wp,wr,xi,Xi,zeta}%
  }%
\lst@definelanguage[primitive]{TeX}%
  {moretexcs={above,abovedisplayshortskip,abovedisplayskip,aftergroup,%
      abovewithdelims,accent,adjdemerits,advance,afterassignment,atop,%
      atopwithdelims,badness,baselineskip,batchmode,begingroup,%
      belowdisplayshortskip,belowdisplayskip,binoppenalty,botmark,box,%
      boxmaxdepth,brokenpenalty,catcode,char,chardef,cleaders,closein,%
      closeout,clubpenalty,copy,count,countdef,cr,crcr,csname,day,%
      deadcycles,def,defaulthyphenchar,defaultskewchar,delcode,%
      delimiter,delimiterfactor,delimitershortfall,dimen,dimendef,%
      discretionary,displayindent,displaylimits,displaystyle,%
      displaywidowpenalty,displaywidth,divide,doublehyphendemerits,dp,%
      edef,else,emergencystretch,end,endcsname,endgroup,endinput,%
      endlinechar,eqno,errhelp,errmessage,errorcontextlines,%
      errorstopmode,escapechar,everycr,everydisplay,everyhbox,everyjob,%
      everymath,everypar,everyvbox,exhyphenpenalty,expandafter,fam,fi,%
      finalhypendemerits,firstmark,floatingpenalty,font,fontdimen,%
      fontname,futurelet,gdef,global,globaldefs,halign,hangafter,%
      hangindent,hbadness,hbox,hfil,hfill,hfilneg,hfuzz,hoffset,%
      holdinginserts,hrule,hsize,hskip,hss,ht,hyphenation,hyphenchar,%
      hyphenpenalty,if,ifcase,ifcat,ifdim,ifeof,iffalse,ifhbox,ifhmode,%
      ifinner,ifmmode,ifnum,ifodd,iftrue,ifvbox,ifvmode,ifvoid,ifx,%
      ignorespaces,immediate,indent,input,insert,insertpenalties,%
      interlinepenalty,jobname,kern,language,lastbox,lastkern,%
      lastpenalty,lastskip,lccode,leaders,left,lefthyphenmin,leftskip,%
      leqno,let,limits,linepenalty,lineskip,lineskiplimit,long,%
      looseness,lower,lowercase,mag,mark,mathaccent,mathbin,mathchar,%
      mathchardef,mathchoice,mathclose,mathcode,mathinner,mathop,%
      mathopen,mathord,mathpunct,mathrel,mathsurround,maxdeadcycles,%
      maxdepth,meaning,medmuskip,message,mkern,month,moveleft,%
      moveright,mskip,multiply,muskip,muskipdef,newlinechar,noalign,%
      noboundary,noexpand,noindent,nolimits,nonscript,nonstopmode,%
      nulldelimiterspace,nullfont,number,omit,openin,openout,or,outer,%
      output,outputpenalty,over,overfullrule,overline,overwithdelims,%
      pagedepth,pagefilllstretch,pagefillstretch,pagefilstretch,%
      pagegoal,pageshrink,pagestretch,pagetotal,par,parfillskip,%
      parindent,parshape,parskip,patterns,pausing,penalty,%
      postdisplaypenalty,predisplaypenalty,predisplaysize,pretolerance,%
      prevdepth,prevgraf,radical,raise,read,relax,relpenalty,right,%
      righthyphenmin,rightskip,romannumeral,scriptfont,%
      scriptscriptfont,scriptscriptstyle,scriptspace,scriptstyle,%
      scrollmode,setbox,setlanguage,sfcode,shipout,show,showbox,%
      showboxbreadth,showboxdepth,showlists,showthe,skewchar,skip,%
      skipdef,spacefactor,spaceskip,span,special,splitbotmark,%
      splitfirstmark,splitmaxdepth,splittopskip,string,tabskip,%
      textfont,textstyle,the,thickmuskip,thinmuskip,time,toks,toksdef,%
      tolerance,topmark,topskip,tracingcommands,tracinglostchars,%
      tracingmacros,tracingonline,tracingoutput,tracingpages,%
      tracingparagraphs,tracingrestores,tracingstats,uccode,uchyph,%
      underline,unhbox,unhcopy,unkern,unpenalty,unskip,unvbox,unvcopy,%
      uppercase,vadjust,valign,vbadness,vbox,vcenter,vfil,vfill,%
      vfilneg,vfuzz,voffset,vrule,vsize,vskip,vsplit,vss,vtop,wd,%
      widowpenalty,write,xdef,xleaders,xspaceskip,year},%
   sensitive,%
   alsoother={0123456789$_},%$ to make Emacs fontlocking happy
   morecomment=[l]\%%
  }[keywords,tex,comments]%
%%
%% Verilog definition (c) 2003 Cameron H. G. Wright <c.h.g.wright@ieee.org>
%%   Based on the IEEE 1364-2001 Verilog HDL standard
%%   Ref: S. Palnitkar, "Verilog HDL: A Guide to Digital Design and Synthesis,"
%%        Prentice Hall, 2003. ISBN: 0-13-044911-3
%%
\lst@definelanguage{Verilog}%
  {morekeywords={% reserved keywords
      always,and,assign,automatic,begin,buf,bufif0,bufif1,case,casex,%
      casez,cell,cmos,config,deassign,default,defparam,design,disable,%
      edge,else,end,endcase,endconfig,endfunction,endgenerate,%
      endmodule,endprimitive,endspecify,endtable,endtask,event,for,%
      force,forever,fork,function,generate,genvar,highz0,highz1,if,%
      ifnone,incdir,include,initial,inout,input,instance,integer,join,%
      large,liblist,library,localparam,macromodule,medium,module,nand,%
      negedge,nmos,nor,noshowcancelled,not,notif0,notif1,or,output,%
      parameter,pmos,posedge,primitive,pull0,pull1,pulldown,pullup,%
      pulsestyle_onevent,pulsestyle_ondetect,rcmos,real,realtime,reg,%
      release,repeat,rnmos,rpmos,rtran,rtranif0,rtranif1,scalared,%
      showcancelled,signed,small,specify,specparam,strong0,strong1,%
      supply0,supply1,table,task,time,tran,tranif0,tranif1,tri,tri0,%
      tri1,triand,trior,trireg,unsigned,use,vectored,wait,wand,weak0,%
      weak1,while,wire,wor,xnor,xor},%
   morekeywords=[2]{% system tasks and functions
      $bitstoreal,$countdrivers,$display,$fclose,$fdisplay,$fmonitor,%
      $fopen,$fstrobe,$fwrite,$finish,$getpattern,$history,$incsave,%
      $input,$itor,$key,$list,$log,$monitor,$monitoroff,$monitoron,%
      $nokey},%
   morekeywords=[3]{% compiler directives
      `accelerate,`autoexpand_vectornets,`celldefine,`default_nettype,%
      `define,`else,`elsif,`endcelldefine,`endif,`endprotect,%
      `endprotected,`expand_vectornets,`ifdef,`ifndef,`include,%
      `no_accelerate,`noexpand_vectornets,`noremove_gatenames,%
      `nounconnected_drive,`protect,`protected,`remove_gatenames,%
      `remove_netnames,`resetall,`timescale,`unconnected_drive},%
   alsoletter=\`,%
   sensitive,%
   morecomment=[s]{/*}{*/},%
   morecomment=[l]//,% nonstandard
   morestring=[b]"%
  }[keywords,comments,strings]%
\endinput
%%
%% End of file `lstlang3.sty'.
