%%
%% 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.3c 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}
    [2020/03/24 1.8d 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]%
%%
%% Go definition
%% (c) 2018 Christian Maurer
%%
\lst@definelanguage{Go}{%
  morekeywords={append,bool,break,byte,cap,case,chan,close,complex,%
    complex128,complex64,const,continue,copy,default,defer,delete,%
    else,error,fallthrough,false,float32,float64,for,func,go,goto,%
    if,imag,import,int,int16,int32,int64,int8,interface,iota,len,%
    make,map,new,nil,package,panic,print,println,range,real,%
    recover,return,rune,select,string,struct,switch,true,type,%
    uint,uint16,uint32,uint64,uint8,uintptr,var},%
  sensitive,%
  morecomment=[s]{/*}{*/},%
  morecomment=[l]//,%
  morestring=[b]',%
  morestring=[b]",%
  morestring=[s]{`}{`},%
}[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{Swift}{%
  morekeywords={associatedtype,class,deinit,enum,extension,fileprivate,%
    func,import,init,inout,internal,let,open,operator,private,protocol,%
    public,static,struct,subscript,typealias,var,break,case,continue,%
    default,defer,do,else,fallthrough,for,guard,if,in,repeat,return,%
    switch,where,while,as,Any,catch,false,is,nil,rethrows,super,self,%
    Self,throw,throws,true,try,_,associativity,convenience,dynamic,%
    didSet,final,get,infix,indirect,lazy,left,mutating,none,%
    nonmutating,optional,override,postfix,precedence,prefix,Protocol,%
    required,right,set,Type,unowned,weak,willSet},%
  sensitive,%
  morecomment=[s]{/*}{*/},%
  morecomment=[s]{/**}{*/},%
  morecomment=[l]//,%
  morecomment=[l]///,%
  morestring=[b]",%
  morestring=[b]""",%
  moredelim=*[directive]\#,%
  moredirectives={available,colorLiteral,column,else,elseif,endif,file,%
    fileLiteral,function,if,imageLiteral,line,selector,sourceLocation}%
 }[keywords,comments,strings,directives]%
\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'.
