/Final-Report/lstdrvrs-1.3.dtx

http://teamo-webtranslator.googlecode.com/ · Unknown · 1619 lines · 1611 code · 8 blank · 0 comment · 0 complexity · 5e668dfef718090afad44b13472115be MD5 · raw file

  1. % \iffalse
  2. %
  3. %<*driver>
  4. \documentclass{ltxdoc}
  5. \EnableCrossrefs
  6. \CodelineIndex
  7. \begin{document}
  8. \DocInput{lstdrvrs-1.3.dtx}
  9. \end{document}
  10. %</driver>
  11. % \fi
  12. %
  13. %
  14. % \DoNotIndex{\[,\{,\},\],\1,\2,\3,\4,\5,\6,\7,\8,\9,\0}
  15. % \DoNotIndex{\`,\,,\!,\#,\$,\&,\',\(,\),\+,\.,\:,\;,\<,\=,\>,\?,\_}
  16. % \DoNotIndex{\askforoverwritefalse,\askforoverwritetrue,\batchfile}
  17. % \DoNotIndex{\begin,\def,\else,\@empty,\end,\endpreamble,\expandafter}
  18. % \DoNotIndex{\fi,\file,\from,\gdef,\generate,\ifnum,\ifx,\input}
  19. % \DoNotIndex{\keepsilent,\lccode,\let,\lowercase,\preamble,\relax}
  20. % \DoNotIndex{\undefined}
  21. %
  22. %
  23. % \title{Language, Style and Format drivers\\ for \textsf{Listings 1.3}\\ {\large by Carsten Heinz and individual authors:}}
  24. % \author{\InputIfFileExists{lstdrvrs.tmp}{}{}}
  25. % \date{}
  26. %
  27. % \maketitle
  28. %
  29. % \newwrite\authors \immediate\openout\authors lstdrvrs.tmp\relax
  30. % \gdef\lstthanks#1#2#3{#1\global\let\lstthanks\lstthanksb\lstwrite{#1}}
  31. % \gdef\lstthanksb#1#2#3{#1\lstwrite{\string\and\space#1}}
  32. % \gdef\lstwrite#1{\begingroup\let~\space\def\"{\string\"}\def\'{\string\'}\immediate\write\authors{#1}\endgroup}
  33. %
  34. % \newcommand*\lsthelper[4]{#1}
  35. %
  36. %
  37. % \section{Installation and configuration}
  38. %
  39. % \begingroup
  40. % \begin{macrocode}
  41. %% (w)(c) 1996/1997/1998/1999/2000/2001/2002/2003/2004 Carsten Heinz
  42. %% and/or any other author listed elsewhere in this file.
  43. %%
  44. %% This file is distributed under the terms of the LaTeX Project Public
  45. %% License from CTAN archives in directory macros/latex/base/lppl.txt.
  46. %% Either version 1.0 or, at your option, any later version.
  47. %%
  48. %% This file is completely free and comes without any warranty.
  49. %%
  50. %% Send comments and ideas on the package, error reports and additional
  51. %% programming languages to <cheinz@gmx.de>.
  52. %%
  53. % \end{macrocode}
  54. % \endgroup
  55. %
  56. % \begingroup
  57. % \begin{macrocode}
  58. %<*install>
  59. \input docstrip
  60. \preamble
  61. \endpreamble
  62. \ifToplevel{
  63. \usedir{tex/latex/listings}
  64. \keepsilent
  65. \askonceonly
  66. }
  67. \generate{
  68. \file{lstlang1.sty}{\from{lstdrvrs-1.3.dtx}{lang1}}
  69. \file{lstlang2.sty}{\from{lstdrvrs-1.3.dtx}{lang2}}
  70. \file{lstlang3.sty}{\from{lstdrvrs-1.3.dtx}{lang3}}
  71. }
  72. \ifToplevel{
  73. \Msg{*}
  74. \Msg{* You probably need to move all created `.sty' and `.cfg'}
  75. \Msg{* files into a directory searched by TeX.}
  76. \Msg{*}
  77. \Msg{* Run `lstdrvrs.dtx' through LaTeX2e to get the documentation.}
  78. \Msg{*}
  79. }
  80. \endbatchfile
  81. %</install>
  82. % \end{macrocode}
  83. % \endgroup
  84. %
  85. % \begingroup
  86. % \begin{macrocode}
  87. %<*config>
  88. % \end{macrocode}
  89. % \endgroup
  90. % We mainly define default dialects.
  91. % \begin{macrocode}
  92. \ProvidesFile{listings.cfg}[2004/09/05 1.3 listings configuration]
  93. \def\lstlanguagefiles
  94. {lstlang0.sty,lstlang1.sty,lstlang2.sty,lstlang3.sty}
  95. \lstset{defaultdialect=[R/3 6.10]ABAP,
  96. defaultdialect=[95]Ada,
  97. defaultdialect=[68]Algol,
  98. defaultdialect=[gnu]Awk,
  99. defaultdialect=[ANSI]C,
  100. defaultdialect=[light]Caml,
  101. defaultdialect=[1985]Cobol,
  102. defaultdialect=[ISO]C++,
  103. defaultdialect=[95]Fortran,
  104. defaultdialect=[3.0]Mathematica,
  105. defaultdialect=[OMG]OCL,
  106. defaultdialect=[Standard]Pascal,
  107. defaultdialect=[67]Simula,
  108. defaultdialect=[plain]TeX,
  109. defaultdialect=[97]VRML}
  110. \lstalias[]{TclTk}[tk]{tcl}
  111. % \end{macrocode}
  112. % And now some shortcuts for the ABAP versions (provided by Knut Lickert).
  113. % I (Knut) think the leading R/2, R/3 is not necessary (The support for R/2
  114. % is finished). The version number with letter is important for the
  115. % runtime-system, but the programming language should be the same
  116. % for each version.
  117. % \begin{macrocode}
  118. \lstalias[6.1]{ABAP}[R/3 6.10]{ABAP}
  119. \lstalias[3.1]{ABAP}[R/3 3.1C]{ABAP}
  120. \lstalias[4.6]{ABAP}[R/3 4.6C]{ABAP}
  121. % \end{macrocode}
  122. % \begingroup
  123. % \begin{macrocode}
  124. %</config>
  125. % \end{macrocode}
  126. % \endgroup
  127. %
  128. % \begin{macrocode}
  129. %<+lang1>\ProvidesFile{lstlang1.sty}
  130. %<+lang2>\ProvidesFile{lstlang2.sty}
  131. %<+lang3>\ProvidesFile{lstlang3.sty}
  132. %<-config> [2004/09/05 1.3 listings language file]
  133. % \end{macrocode}
  134. %
  135. %
  136. % \section{Language drivers}
  137. %
  138. %
  139. % \subsection{Abap}
  140. %
  141. % \lstthanks{Knut Lickert}{knut.lickert@gmx.de}{2000/08/01,2001/12/29,2002/04/11}
  142. % added support for Abap.\footnote{In this section `I' is Knut Lickert.}
  143. %
  144. % \begingroup
  145. % \begin{macrocode}
  146. %<*lang2>
  147. % \end{macrocode}
  148. % \begin{macrocode}
  149. %%
  150. %% Abap definition by Knut Lickert
  151. %%
  152. % \end{macrocode}
  153. %
  154. % There are some other new commands in release 6.10.
  155. % They will follow later, but up to now I don't work
  156. % with 6.10.
  157. %
  158. % \begin{macrocode}
  159. \lst@definelanguage[R/3 6.10]{ABAP}[R/3 4.6C]{ABAP}%
  160. {morekeywords={try,endtry},%
  161. }[keywords,comments,strings]
  162. % \end{macrocode}
  163. % \begin{macrocode}
  164. \lst@definelanguage[R/3 4.6C]{ABAP}[R/3 3.1]{ABAP}%
  165. {morekeywords={method,ref,class,create,object,%
  166. methods,endmethod,private,protected,public,section,%
  167. catch,system-exceptions,endcatch,%
  168. },%
  169. moreprocnamekeys={class},%
  170. literate={->}{{$\rightarrow$}}1{=>}{{$\Rightarrow$}}1,%
  171. }[keywords,comments,strings,procnames]
  172. % \end{macrocode}
  173. % Yes there are also some more releases in R/3 (2.1\ldots), but I
  174. % know them not really. So let's start with R/3~3.1.
  175. % \begin{macrocode}
  176. \lst@definelanguage[R/3 3.1]{ABAP}[R/2 5.0]{ABAP}{}%
  177. % \end{macrocode}
  178. % As I remember all this commands exists in R/2. Many commands are
  179. % new in R/2~5.0 (compared with R/2 4.3). But as I am not using
  180. % R/2~4.3 any more, I start with R/2~5.0.
  181. % \begin{macrocode}
  182. \lst@definelanguage[R/2 5.0]{ABAP}%
  183. {sensitive=f,%
  184. procnamekeys={report,program,form,function,module},%
  185. morekeywords={*,add,after,alias,analyzer,and,append,appending,area,assign,at,%
  186. authority-check,before,binary,blank,break-point,calendar,call,%
  187. case,change,changing,check,clear,cnt,co,collect,commit,common,%
  188. component,compute,condense,corresponding,cos,cp,cs,currency-conversion,%
  189. cursor,data,database,dataset,decimals,define,delete,deleting,dequeue,%
  190. describe,detail,dialog,directory,div,divide,do,documentation,%
  191. during,dynpro,else,end-of-page,end-of-selection,endat,endcase,%
  192. enddo,endfor,endform,endif,endloop,endmodule,endselect,%
  193. endwhile,enqueue,exceptions,exit,exp,export,exporting,extract,%
  194. field,fields,field-groups,field-symbols,find,for,form,format,free,%
  195. from,function,generating,get,giving,hide,id,if,import,%
  196. importing,in,incl,include,initial,initialization,input,insert,%
  197. interrupt,into,is,language,leave,leading,left-justified,like,line,lines,line-count,
  198. line-selection,list-processing,load,local,log,logfile,loop,%
  199. margin,mark,mask,memory,menue,message,mod,modify,module,move,%
  200. move-text,multiply,na,new,new-line,new-page,no-gaps,np,ns,%
  201. number,obligatory,occurs,of,on,or,others,output,parameter,%
  202. parameters,parts,perform,pf-status,places,position,process,%
  203. raise,raising,ranges,read,refresh,refresh-dynpro,reject,remote,%
  204. replace,report,reserve,reset,restart,right-justified,run,screen,scroll,search,%
  205. segments,select,select-options,selection-screen,set,shift,sin,%
  206. single,sqrt,start-of-selection,statement,structure,submit,%
  207. subtract,summary,summing,suppress,system,table,tables,task,%
  208. text,time,to,top-of-page,trace,transaction,transfer,%
  209. transfer-dynpro,translate,type,unpack,update,user-command,%
  210. using,value,when,where,while,window,with,workfile,write,},%
  211. morecomment=[l]",%
  212. morecomment=[f][0]*,%
  213. morestring=[d]'%
  214. }[keywords,comments,strings,procnames]
  215. % \end{macrocode}
  216. % This section for R/2~4.3 is not really maintained. It is just what I remember
  217. % of the past.
  218. % \begin{macrocode}
  219. \lst@definelanguage[R/2 4.3]{ABAP}[R/2 5.0]{ABAP}%
  220. {deletekeywords={function,importing,exporting,changing,exceptions,%
  221. raise,raising}%
  222. }[keywords,comments,strings]
  223. % \end{macrocode}
  224. % \begin{macrocode}
  225. %</lang2>
  226. % \end{macrocode}
  227. % \endgroup
  228. %
  229. %
  230. % \subsection{ACSL}
  231. %
  232. % This language was provided by \lstthanks{Andreas~Matthias}{amat@kabsi.at}
  233. % {2000/03/21}. I'm sorry for forgetting to add this language for a long time.
  234. % \begingroup
  235. % \begin{macrocode}
  236. %<*lang1>
  237. % \end{macrocode}
  238. % \begin{macrocode}
  239. %%
  240. %% ACSL definition (c) 2000 by Andreas Matthias
  241. %%
  242. \lst@definelanguage{ACSL}[90]{Fortran}%
  243. {morekeywords={algorithm,cinterval,constant,derivative,discrete,%
  244. dynamic,errtag,initial,interval,maxterval,minterval,%
  245. merror,xerror,nsteps,procedural,save,schedule,sort,%
  246. table,terminal,termt,variable},%
  247. sensitive=false,%
  248. morecomment=[l]!%
  249. }[keywords, comments]%
  250. % \end{macrocode}
  251. % \begin{macrocode}
  252. %</lang1>
  253. % \end{macrocode}
  254. % \endgroup
  255. %
  256. %
  257. % \subsection{Ada}
  258. %
  259. % Data come from
  260. % \begin{itemize}
  261. % \item
  262. % \textsc{Barnes, John Gilbert Presslie}:
  263. % \textbf{Programming in Ada plus language reference manual};
  264. % {\copyright} 1991 Addison-Wesley Publishing Company, Inc.;
  265. % ISBN 0-201-56539-0.
  266. % \end{itemize}
  267. % \lstthanks{Torsten~Neuer}{tneuer@inwise.de}{1998/11/23} added support for
  268. % Ada 95. I changed the definition to reduce the required string memory.
  269. % \begingroup
  270. % \begin{macrocode}
  271. %<*lang1>
  272. % \end{macrocode}
  273. % \begin{macrocode}
  274. %%
  275. %% Ada 95 definition (c) Torsten Neuer
  276. %%
  277. \lst@definelanguage[95]{Ada}[83]{Ada}%
  278. {morekeywords={abstract,aliased,protected,requeue,tagged,until}}%
  279. % \end{macrocode}
  280. % \begin{macrocode}
  281. \lst@definelanguage[83]{Ada}%
  282. {morekeywords={abort,abs,accept,access,all,and,array,at,begin,body,%
  283. case,constant,declare,delay,delta,digits,do,else,elsif,end,entry,%
  284. exception,exit,for,function,generic,goto,if,in,is,limited,loop,%
  285. mod,new,not,null,of,or,others,out,package,pragma,private,%
  286. procedure,raise,range,record,rem,renames,return,reverse,select,%
  287. separate,subtype,task,terminate,then,type,use,when,while,with,%
  288. xor},%
  289. sensitive=f,%
  290. morecomment=[l]--,%
  291. morestring=[m]",% percent not defined as stringizer so far
  292. morestring=[m]'%
  293. }[keywords,comments,strings]%
  294. % \end{macrocode}
  295. % \begin{macrocode}
  296. %</lang1>
  297. % \end{macrocode}
  298. % \endgroup
  299. %
  300. %
  301. % \subsection{Algol}
  302. %
  303. % Data come from
  304. % \begin{itemize}
  305. % \item
  306. % \textsc{Uwe Pape}:
  307. % \textbf{Programmieren in ALGOL 60};
  308. % {\copyright} 1973 Carl Hanser Verlag M\"unchen;
  309. % ISBN 3-446-11605-2
  310. % \item
  311. % \textsc{Frank G.\ Pagan}:
  312. % \textbf{A practical guide to ALGOL 68};
  313. % {\copyright} 1976 by John Wiley $\&$ Sohn Ltd.;
  314. % ISBN 0-471-65746-8 (Cloth); ISBN 0-471-65747-6 (Pbk).
  315. % \end{itemize}
  316. % The definition of Algol 68 doesn't support comments enclosed by \rlap{/}c.
  317. % \begingroup
  318. % \begin{macrocode}
  319. %<*lang3>
  320. % \end{macrocode}
  321. % \begin{macrocode}
  322. \lst@definelanguage[68]{Algol}%
  323. % ??? should 'i' be a keyword
  324. {morekeywords={abs,and,arg,begin,bin,bits,bool,by,bytes,case,channel,%
  325. char,co,comment,compl,conj,divab,do,down,elem,elif,else,empty,%
  326. end,entier,eq,esac,exit,false,fi,file,flex,for,format,from,ge,%
  327. goto,gt,heap,if,im,in,int,is,isnt,le,leng,level,loc,long,lt,lwb,%
  328. minusab,mod,modab,mode,ne,nil,not,od,odd,of,op,or,ouse,out,over,%
  329. overab,par,plusab,plusto,pr,pragmat,prio,proc,re,real,ref,repr,%
  330. round,sema,shl,short,shorten,shr,sign,skip,string,struct,then,%
  331. timesab,to,true,union,up,upb,void,while},%
  332. sensitive=f,% ???
  333. morecomment=[s]{\#}{\#},%
  334. keywordcomment={co,comment}%
  335. }[keywords,comments,keywordcomments]%
  336. % \end{macrocode}
  337. % \begin{macrocode}
  338. \lst@definelanguage[60]{Algol}%
  339. {morekeywords={array,begin,Boolean,code,comment,div,do,else,end,%
  340. false,for,goto,if,integer,label,own,power,procedure,real,step,%
  341. string,switch,then,true,until,value,while},%
  342. sensitive=f,% ???
  343. keywordcommentsemicolon={end}{else,end}{comment}%
  344. }[keywords,keywordcomments]%
  345. %</lang3>
  346. % \end{macrocode}
  347. % \endgroup
  348. %
  349. %
  350. % \subsection{Assembler}
  351. %
  352. % Credits go to \lstthanks{Andrew~Zabolotny}{zap@cobra.ru}{2002/07/05}.
  353. % \begingroup
  354. % \begin{macrocode}
  355. %<*lang3>
  356. %%
  357. %% x86masm definition (c) 2002 Andrew Zabolotny
  358. %%
  359. \lst@definelanguage[x86masm]{Assembler}%
  360. {morekeywords={al,ah,ax,eax,bl,bh,bx,ebx,cl,ch,cx,ecx,dl,dh,dx,edx,%
  361. si,esi,di,edi,bp,ebp,sp,esp,cs,ds,es,ss,fs,gs,cr0,cr1,cr2,cr3,%
  362. db0,db1,db2,db3,db4,db5,db6,db7,tr0,tr1,tr2,tr3,tr4,tr5,tr6,tr7,%
  363. st,aaa,aad,aam,aas,adc,add,and,arpl,bound,bsf,bsr,bswap,bt,btc,%
  364. btr,bts,call,cbw,cdq,clc,cld,cli,clts,cmc,cmp,cmps,cmpsb,cmpsw,%
  365. cmpsd,cmpxchg,cwd,cwde,daa,das,dec,div,enter,hlt,idiv,imul,in,%
  366. inc,ins,int,into,invd,invlpg,iret,ja,jae,jb,jbe,jc,jcxz,jecxz,%
  367. je,jg,jge,jl,jle,jna,jnae,jnb,jnbe,jnc,jne,jng,jnge,jnl,jnle,%
  368. jno,jnp,jns,jnz,jo,jp,jpe,jpo,js,jz,jmp,lahf,lar,lea,leave,lgdt,%
  369. lidt,lldt,lmsw,lock,lods,lodsb,lodsw,lodsd,loop,loopz,loopnz,%
  370. loope,loopne,lds,les,lfs,lgs,lss,lsl,ltr,mov,movs,movsb,movsw,%
  371. movsd,movsx,movzx,mul,neg,nop,not,or,out,outs,pop,popa,popad,%
  372. popf,popfd,push,pusha,pushad,pushf,pushfd,rcl,rcr,rep,repe,%
  373. repne,repz,repnz,ret,retf,rol,ror,sahf,sal,sar,sbb,scas,seta,%
  374. setae,setb,setbe,setc,sete,setg,setge,setl,setle,setna,setnae,%
  375. setnb,setnbe,setnc,setne,setng,setnge,setnl,setnle,setno,setnp,%
  376. setns,setnz,seto,setp,setpe,setpo,sets,setz,sgdt,shl,shld,shr,%
  377. shrd,sidt,sldt,smsw,stc,std,sti,stos,stosb,stosw,stosd,str,sub,%
  378. test,verr,verw,wait,wbinvd,xadd,xchg,xlatb,xor,fabs,fadd,fbld,%
  379. fbstp,fchs,fclex,fcom,fcos,fdecstp,fdiv,fdivr,ffree,fiadd,ficom,%
  380. fidiv,fidivr,fild,fimul,fincstp,finit,fist,fisub,fisubr,fld,fld1,%
  381. fldl2e,fldl2t,fldlg2,fldln2,fldpi,fldz,fldcw,fldenv,fmul,fnop,%
  382. fpatan,fprem,fprem1,fptan,frndint,frstor,fsave,fscale,fsetpm,%
  383. fsin,fsincos,fsqrt,fst,fstcw,fstenv,fstsw,fsub,fsubr,ftst,fucom,%
  384. fwait,fxam,fxch,fxtract,fyl2x,fyl2xp1,f2xm1},%
  385. morekeywords=[2]{.align,.alpha,assume,byte,code,comm,comment,.const,%
  386. .cref,.data,.data?,db,dd,df,dosseg,dq,dt,dw,dword,else,end,endif,%
  387. endm,endp,ends,eq,equ,.err,.err1,.err2,.errb,.errdef,.errdif,%
  388. .erre,.erridn,.errnb,.errndef,.errnz,event,exitm,extrn,far,%
  389. .fardata,.fardata?,fword,ge,group,gt,high,if,if1,if2,ifb,ifdef,%
  390. ifdif,ife,ifidn,ifnb,ifndef,include,includelib,irp,irpc,label,%
  391. .lall,le,length,.lfcond,.list,local,low,lt,macro,mask,mod,.model,%
  392. name,ne,near,offset,org,out,page,proc,ptr,public,purge,qword,.%
  393. radix,record,rept,.sall,seg,segment,.seq,.sfcond,short,size,%
  394. .stack,struc,subttl,tbyte,.tfcond,this,title,type,.type,width,%
  395. word,.xall,.xcref,.xlist},%
  396. alsoletter=.,alsodigit=?,%
  397. sensitive=f,%
  398. morestring=[b]",%
  399. morestring=[b]',%
  400. morecomment=[l];%
  401. }[keywords,comments,strings]
  402. %</lang3>
  403. % \end{macrocode}
  404. % \endgroup
  405. %
  406. %
  407. % \subsection{Awk}
  408. %
  409. % Thanks to \lstthanks{Dr.~Christoph~Giess}{Ch.Giess@gmx.de}{2003/07/15} for
  410. % providing these definitions.
  411. % \begingroup
  412. % \begin{macrocode}
  413. %<*lang1>
  414. %%
  415. %% awk definitions (c) Christoph Giess
  416. %%
  417. \lst@definelanguage[gnu]{Awk}[POSIX]{Awk}%
  418. {morekeywords={and,asort,bindtextdomain,compl,dcgettext,gensub,%
  419. lshift,mktime,or,rshift,strftime,strtonum,systime,xor,extension}%
  420. }%
  421. % \end{macrocode}
  422. % \begin{macrocode}
  423. \lst@definelanguage[POSIX]{Awk}%
  424. {keywords={BEGIN,END,close,getline,next,nextfile,print,printf,%
  425. system,fflush,atan2,cos,exp,int,log,rand,sin,sqrt,srand,gsub,%
  426. index,length,match,split,sprintf,strtonum,sub,substr,tolower,%
  427. toupper,if,while,do,for,break,continue,delete,exit,function,%
  428. return},%
  429. sensitive,%
  430. morecomment=[l]\#,%
  431. morecomment=[l]//,%
  432. morecomment=[s]{/*}{*/},%
  433. morestring=[b]"%
  434. }[keywords,comments,strings]%
  435. %</lang1>
  436. % \end{macrocode}
  437. % \endgroup
  438. %
  439. %
  440. % \subsection{Basic}
  441. %
  442. % Credits go to \lstthanks{Robert Frank}{rf7@ukc.ac.uk}{2002/07/05}.
  443. % \begingroup
  444. % \begin{macrocode}
  445. %<*lang1>
  446. %%
  447. %% Visual Basic definition (c) 2002 Robert Frank
  448. %%
  449. \lst@definelanguage[Visual]{Basic}
  450. {morekeywords={Abs,Array,Asc,AscB,AscW,Atn,Avg,CBool,CByte,CCur,%
  451. CDate,CDbl,Cdec,Choose,Chr,ChrB,ChrW,CInt,CLng,Command,Cos,%
  452. Count,CreateObject,CSng,CStr,CurDir,CVar,CVDate,CVErr,Date,%
  453. DateAdd,DateDiff,DatePart,DateSerial,DateValue,Day,DDB,Dir,%
  454. DoEvents,Environ,EOF,Error,Exp,FileAttr,FileDateTime,FileLen,%
  455. Fix,Format,FreeFile,FV,GetAllStrings,GetAttr,%
  456. GetAutoServerSettings,GetObject,GetSetting,Hex,Hour,IIf,%
  457. IMEStatus,Input,InputB,InputBox,InStr,InstB,Int,Integer,IPmt,%
  458. IsArray,IsDate,IsEmpty,IsError,IsMissing,IsNull,IsNumeric,%
  459. IsObject,LBound,LCase,Left,LeftB,Len,LenB,LoadPicture,Loc,LOF,%
  460. Log,Ltrim,Max,Mid,MidB,Min,Minute,MIRR,Month,MsgBox,Now,NPer,%
  461. NPV,Oct,Partition,Pmt,PPmt,PV,QBColor,Rate,RGB,Right,RightB,Rnd,%
  462. Rtrim,Second,Seek,Sgn,Shell,Sin,SLN,Space,Spc,Sqr,StDev,StDevP,%
  463. Str,StrComp,StrConv,String,Switch,Sum,SYD,Tab,Tan,Time,Timer,%
  464. TimeSerial,TimeValue,Trim,TypeName,UBound,Ucase,Val,Var,VarP,%
  465. VarType,Weekday,Year},% functions
  466. morekeywords=[2]{Accept,Activate,Add,AddCustom,AddFile,AddFromFile,%
  467. AddFromTemplate,AddItem,AddNew,AddToAddInToolbar,%
  468. AddToolboxProgID,Append,AppendChunk,Arrange,Assert,AsyncRead,%
  469. BatchUpdate,BeginTrans,Bind,Cancel,CancelAsyncRead,CancelBatch,%
  470. CancelUpdate,CanPropertyChange,CaptureImage,CellText,CellValue,%
  471. Circle,Clear,ClearFields,ClearSel,ClearSelCols,Clone,Close,Cls,%
  472. ColContaining,ColumnSize,CommitTrans,CompactDatabase,Compose,%
  473. Connect,Copy,CopyQueryDef,CreateDatabase,CreateDragImage,%
  474. CreateEmbed,CreateField,CreateGroup,CreateIndex,CreateLink,%
  475. CreatePreparedStatement,CreatePropery,CreateQuery,%
  476. CreateQueryDef,CreateRelation,CreateTableDef,CreateUser,%
  477. CreateWorkspace,Customize,Delete,DeleteColumnLabels,%
  478. DeleteColumns,DeleteRowLabels,DeleteRows,DoVerb,Drag,Draw,Edit,%
  479. EditCopy,EditPaste,EndDoc,EnsureVisible,EstablishConnection,%
  480. Execute,ExtractIcon,Fetch,FetchVerbs,Files,FillCache,Find,%
  481. FindFirst,FindItem,FindLast,FindNext,FindPrevious,Forward,%
  482. GetBookmark,GetChunk,GetClipString,GetData,GetFirstVisible,%
  483. GetFormat,GetHeader,GetLineFromChar,GetNumTicks,GetRows,%
  484. GetSelectedPart,GetText,GetVisibleCount,GoBack,GoForward,Hide,%
  485. HitTest,HoldFields,Idle,InitializeLabels,InsertColumnLabels,%
  486. InsertColumns,InsertObjDlg,InsertRowLabels,InsertRows,Item,%
  487. KillDoc,Layout,Line,LinkExecute,LinkPoke,LinkRequest,LinkSend,%
  488. Listen,LoadFile,LoadResData,LoadResPicture,LoadResString,%
  489. LogEvent,MakeCompileFile,MakeReplica,MoreResults,Move,MoveData,%
  490. MoveFirst,MoveLast,MoveNext,MovePrevious,NavigateTo,NewPage,%
  491. NewPassword,NextRecordset,OLEDrag,OnAddinsUpdate,OnConnection,%
  492. OnDisconnection,OnStartupComplete,Open,OpenConnection,%
  493. OpenDatabase,OpenQueryDef,OpenRecordset,OpenResultset,OpenURL,%
  494. Overlay,PaintPicture,Paste,PastSpecialDlg,PeekData,Play,Point,%
  495. PopulatePartial,PopupMenu,Print,PrintForm,PropertyChanged,Pset,%
  496. Quit,Raise,RandomDataFill,RandomFillColumns,RandomFillRows,%
  497. rdoCreateEnvironment,rdoRegisterDataSource,ReadFromFile,%
  498. ReadProperty,Rebind,ReFill,Refresh,RefreshLink,RegisterDatabase,%
  499. Reload,Remove,RemoveAddInFromToolbar,RemoveItem,Render,%
  500. RepairDatabase,Reply,ReplyAll,Requery,ResetCustom,%
  501. ResetCustomLabel,ResolveName,RestoreToolbar,Resync,Rollback,%
  502. RollbackTrans,RowBookmark,RowContaining,RowTop,Save,SaveAs,%
  503. SaveFile,SaveToFile,SaveToolbar,SaveToOle1File,Scale,ScaleX,%
  504. ScaleY,Scroll,Select,SelectAll,SelectPart,SelPrint,Send,%
  505. SendData,Set,SetAutoServerSettings,SetData,SetFocus,SetOption,%
  506. SetSize,SetText,SetViewport,Show,ShowColor,ShowFont,ShowHelp,%
  507. ShowOpen,ShowPrinter,ShowSave,ShowWhatsThis,SignOff,SignOn,Size,%
  508. Span,SplitContaining,StartLabelEdit,StartLogging,Stop,%
  509. Synchronize,TextHeight,TextWidth,ToDefaults,TwipsToChartPart,%
  510. TypeByChartType,Update,UpdateControls,UpdateRecord,UpdateRow,%
  511. Upto,WhatsThisMode,WriteProperty,ZOrder},% methods
  512. morekeywords=[3]{AccessKeyPress,AfterAddFile,AfterChangeFileName,%
  513. AfterCloseFile,AfterColEdit,AfterColUpdate,AfterDelete,%
  514. AfterInsert,AfterLabelEdit,AfterRemoveFile,AfterUpdate,%
  515. AfterWriteFile,AmbienChanged,ApplyChanges,Associate,%
  516. AsyncReadComplete,AxisActivated,AxisLabelActivated,%
  517. AxisLabelSelected,AxisLabelUpdated,AxisSelected,%
  518. AxisTitleActivated,AxisTitleSelected,AxisTitleUpdated,%
  519. AxisUpdated,BeforeClick,BeforeColEdit,BeforeColUpdate,%
  520. BeforeConnect,BeforeDelete,BeforeInsert,BeforeLabelEdit,%
  521. BeforeLoadFile,BeforeUpdate,ButtonClick,ButtonCompleted,%
  522. ButtonGotFocus,ButtonLostFocus,Change,ChartActivated,%
  523. ChartSelected,ChartUpdated,Click,ColEdit,Collapse,ColResize,%
  524. ColumnClick,Compare,ConfigChageCancelled,ConfigChanged,%
  525. ConnectionRequest,DataArrival,DataChanged,DataUpdated,DblClick,%
  526. Deactivate,DeviceArrival,DeviceOtherEvent,DeviceQueryRemove,%
  527. DeviceQueryRemoveFailed,DeviceRemoveComplete,DeviceRemovePending,%
  528. DevModeChange,Disconnect,DisplayChanged,Dissociate,%
  529. DoGetNewFileName,Done,DonePainting,DownClick,DragDrop,DragOver,%
  530. DropDown,EditProperty,EnterCell,EnterFocus,Event,ExitFocus,%
  531. Expand,FootnoteActivated,FootnoteSelected,FootnoteUpdated,%
  532. GotFocus,HeadClick,InfoMessage,Initialize,IniProperties,%
  533. ItemActivated,ItemAdded,ItemCheck,ItemClick,ItemReloaded,%
  534. ItemRemoved,ItemRenamed,ItemSeletected,KeyDown,KeyPress,KeyUp,%
  535. LeaveCell,LegendActivated,LegendSelected,LegendUpdated,%
  536. LinkClose,LinkError,LinkNotify,LinkOpen,Load,LostFocus,%
  537. MouseDown,MouseMove,MouseUp,NodeClick,ObjectMove,%
  538. OLECompleteDrag,OLEDragDrop,OLEDragOver,OLEGiveFeedback,%
  539. OLESetData,OLEStartDrag,OnAddNew,OnComm,Paint,PanelClick,%
  540. PanelDblClick,PathChange,PatternChange,PlotActivated,%
  541. PlotSelected,PlotUpdated,PointActivated,PointLabelActivated,%
  542. PointLabelSelected,PointLabelUpdated,PointSelected,%
  543. PointUpdated,PowerQuerySuspend,PowerResume,PowerStatusChanged,%
  544. PowerSuspend,QueryChangeConfig,QueryComplete,QueryCompleted,%
  545. QueryTimeout,QueryUnload,ReadProperties,Reposition,%
  546. RequestChangeFileName,RequestWriteFile,Resize,ResultsChanged,%
  547. RowColChange,RowCurrencyChange,RowResize,RowStatusChanged,%
  548. SelChange,SelectionChanged,SendComplete,SendProgress,%
  549. SeriesActivated,SeriesSelected,SeriesUpdated,SettingChanged,%
  550. SplitChange,StateChanged,StatusUpdate,SysColorsChanged,%
  551. Terminate,TimeChanged,TitleActivated,TitleSelected,%
  552. TitleActivated,UnboundAddData,UnboundDeleteRow,%
  553. UnboundGetRelativeBookmark,UnboundReadData,UnboundWriteData,%
  554. Unload,UpClick,Updated,Validate,ValidationError,WillAssociate,%
  555. WillChangeData,WillDissociate,WillExecute,WillUpdateRows,%
  556. WithEvents,WriteProperties},% VB-events
  557. morekeywords=[4]{AppActivate,Base,Beep,Call,Case,ChDir,ChDrive,%
  558. Const,Declare,DefBool,DefByte,DefCur,DefDate,DefDbl,DefDec,%
  559. DefInt,DefLng,DefObj,DefSng,DefStr,Deftype,DefVar,DeleteSetting,%
  560. Dim,Do,Else,ElseIf,End,Enum,Erase,Event,Exit,Explicit,FileCopy,%
  561. For,ForEach,Friend,Function,Get,GoSub,GoTo,If,Implements,Kill,%
  562. Let,LineInput,Lock,Lset,MkDir,Name,Next,OnError,On,Option,%
  563. Private,Property,Public,Put,RaiseEvent,Randomize,ReDim,Rem,%
  564. Reset,Resume,Return,RmDir,Rset,SavePicture,SaveSetting,%
  565. SendKeys,SetAttr,Static,Sub,Then,Type,Unlock,Wend,While,Width,%
  566. With,Write},% statements
  567. sensitive=false,%
  568. keywordcomment=rem,%
  569. MoreSelectCharTable=\def\lst@BeginKC@{% chmod
  570. \lst@ResetToken
  571. \lst@BeginComment\lst@GPmode{{\lst@commentstyle}%
  572. \lst@Lmodetrue\lst@modetrue}\@empty},%
  573. morecomment=[l]{'},%
  574. morecomment=[s]{/*}{*/},%
  575. morestring=[b]",%
  576. }[keywords,comments,strings,keywordcomments]
  577. %</lang1>
  578. % \end{macrocode}
  579. % Thanks to \lsthelper{Jonathan~de~Halleux}{dehalleux@pelikhan.com}
  580. % {2002/12/27}{missing comma} for reporting a missing comma after
  581. % \texttt{MoreSelectCharTable}, which was the cause of a problem
  582. % reported by \lsthelper{Robert~Frank}{rf7@ukc.ac.uk}{2002/10/27}
  583. % {indention with language={[Visual]Basic} in optional argument}.
  584. % \lsthelper{Martina~Hansel}{Martina.Hansel@fhtw-berlin.de}{2003/05/29}
  585. % {missing comma} also found the bug and the fix.
  586. % \endgroup
  587. %
  588. %
  589. % \subsection{Clean}
  590. %
  591. % Thanks to \lstthanks{Jos\'e~Romildo~Malaquias}{romildo@iceb.ufop.br}{2000/08/08}.
  592. % \lsthelper{Markus~Pahlow}{pahlowm@mar.dfo-mpo.gc.ca}{2001/10/12}{missing comma}
  593. % found a missing comma
  594. % \begingroup
  595. % \begin{macrocode}
  596. %<*lang3>
  597. %%
  598. %% Clean definition (c) 1999 Jos\'e Romildo Malaquias
  599. %%
  600. %% Clean 1.3 : some standard functional language: pure, lazy,
  601. %% polymorphic type system, modules, type classes,
  602. %% garbage collection, functions as first class citizens
  603. %%
  604. \lst@definelanguage{Clean}%
  605. {otherkeywords={:,::,=,:==,=:,=>,->,<-,<-:,\{,\},\{|,|\},\#,\#!,|,\&,%
  606. [,],!,.,\\\\,;,_},%
  607. morekeywords={from,definition,implementation,import,module,system,%
  608. case,code,if,in,let,let!,of,where,with,infix,infixl,infixr},%
  609. morendkeywords={True,False,Start,Int,Real,Char,Bool,String,World,%
  610. File,ProcId},%
  611. sensitive,%
  612. morecomment=[l]//,% missing comma: Markus Pahlow
  613. morecomment=[n]{/*}{*/},%
  614. morestring=[b]"%
  615. }[keywords,comments,strings]%
  616. %</lang3>
  617. % \end{macrocode}
  618. % \endgroup
  619. %
  620. %
  621. % \subsection{Corba IDL}
  622. %
  623. % This language definition is due to \lstthanks{Jens~T.~Berger~Thielemann}
  624. % {jensthi@ifi.uio.no}{1999/11/28}.
  625. % \begingroup
  626. % \begin{macrocode}
  627. %<*lang2>
  628. %%
  629. %% Corba IDL definition (c) 1999 Jens T. Berger Thielemann
  630. %%
  631. \lst@definelanguage[CORBA]{IDL}%
  632. {morekeywords={any,attribute,boolean,case,char,const,context,default,%
  633. double,enum,exception,fixed,float,in,inout,interface,long,module,%
  634. native,Object,octet,oneway,out,raises,readonly,sequence,short,%
  635. string,struct,switch,typedef,union,unsigned,void,wchar,wstring,%
  636. FALSE,TRUE},%
  637. sensitive,%
  638. moredirectives={define,elif,else,endif,error,if,ifdef,ifndef,line,%
  639. include,pragma,undef,warning},%
  640. moredelim=*[directive]\#,%
  641. morecomment=[l]//,%
  642. morecomment=[s]{/*}{*/},%
  643. morestring=[b]"%
  644. }[keywords,comments,strings,directives]%
  645. %</lang2>
  646. % \end{macrocode}
  647. % \endgroup
  648. %
  649. %
  650. % \subsection{C, C++, et al}
  651. %
  652. % \begingroup
  653. % \begin{macrocode}
  654. %<*lang1>
  655. % \end{macrocode}
  656. % For compatibility the `ANSI' language is defined in terms of ISO.
  657. % \begin{macrocode}
  658. \lst@definelanguage[ANSI]{C++}[ISO]{C++}{}%
  659. % \end{macrocode}
  660. % \lstthanks{Michael Piefel}{piefel@informatik.hu-berlin.de}{2001/11/21}
  661. % suggested some more changes and added GNU C++.
  662. % \begin{macrocode}
  663. \lst@definelanguage[GNU]{C++}[ISO]{C++}%
  664. {morekeywords={__attribute__,__extension__,__restrict,__restrict__,%
  665. typeof,__typeof__},%
  666. }%
  667. % \end{macrocode}
  668. % \begin{macrocode}
  669. \lst@definelanguage[Visual]{C++}[ISO]{C++}%
  670. {morekeywords={__asm,__based,__cdecl,__declspec,dllexport,%
  671. dllimport,__except,__fastcall,__finally,__inline,__int8,__int16,%
  672. __int32,__int64,naked,__stdcall,thread,__try,__leave},%
  673. }%
  674. % \end{macrocode}
  675. % \begin{macrocode}
  676. \lst@definelanguage[ISO]{C++}[ANSI]{C}%
  677. {morekeywords={and,and_eq,asm,bad_cast,bad_typeid,bitand,bitor,bool,%
  678. catch,class,compl,const_cast,delete,dynamic_cast,explicit,export,%
  679. false,friend,inline,mutable,namespace,new,not,not_eq,operator,or,%
  680. or_eq,private,protected,public,reinterpret_cast,static_cast,%
  681. template,this,throw,true,try,typeid,type_info,typename,using,%
  682. virtual,wchar_t,xor,xor_eq},%
  683. }%
  684. % \end{macrocode}
  685. % \begin{macrocode}
  686. %</lang1>
  687. % \end{macrocode}
  688. % \endgroup
  689. %
  690. % Objective-C is due to \lstthanks{Detlev~Dr\"oge}
  691. %{droege@informatik.uni-koblenz.de}{1997/11/04}.
  692. % \begingroup
  693. % \begin{macrocode}
  694. %<*lang1>
  695. % \end{macrocode}
  696. % \begin{macrocode}
  697. %%
  698. %% Objective-C definition (c) 1997 Detlev Droege
  699. %%
  700. \lst@definelanguage[Objective]{C}[ANSI]{C}
  701. {morekeywords={bycopy,id,in,inout,oneway,out,self,super,%
  702. @class,@defs,@encode,@end,@implementation,@interface,@private,%
  703. @protected,@protocol,@public,@selector},%
  704. moredirectives={import}%
  705. }%
  706. % \end{macrocode}
  707. % \begin{macrocode}
  708. %</lang1>
  709. % \end{macrocode}
  710. % \endgroup
  711. %
  712. %
  713. % \lstthanks{J\"org~Viermann}{}{2004/07/17} provided the keywords for Handel-C.
  714. % \begingroup
  715. % \begin{macrocode}
  716. %<*lang1>
  717. % \end{macrocode}
  718. % \begin{macrocode}
  719. %%
  720. %% Handel-C definition, refer http://www.celoxica.com
  721. %%
  722. \lst@definelanguage[Handel]{C}[ANSI]{C}
  723. {morekeywords={assert,chan,chanin,chanout,clock,delay,expr,external,%
  724. external_divide,family,ifselect,in,inline,interface,internal,%
  725. internal_divid,intwidth,let,macro,mpram,par,part,prialt,proc,ram,%
  726. releasesema,reset,rom,select,sema,set,seq,shared,signal,try,%
  727. reset,trysema,typeof,undefined,width,with,wom},%
  728. }%
  729. % \end{macrocode}
  730. % \begin{macrocode}
  731. %</lang1>
  732. % \end{macrocode}
  733. % \endgroup
  734. %
  735. %
  736. % \begingroup
  737. % \begin{macrocode}
  738. %<*lang1>
  739. % \end{macrocode}
  740. % \begin{macrocode}
  741. \lst@definelanguage[ANSI]{C}%
  742. {morekeywords={auto,break,case,char,const,continue,default,do,double,%
  743. else,enum,extern,float,for,goto,if,int,long,register,return,%
  744. short,signed,sizeof,static,struct,switch,typedef,union,unsigned,%
  745. void,volatile,while},%
  746. sensitive,%
  747. morecomment=[s]{/*}{*/},%
  748. morecomment=[l]//,% nonstandard
  749. morestring=[b]",%
  750. morestring=[b]',%
  751. moredelim=*[directive]\#,%
  752. moredirectives={define,elif,else,endif,error,if,ifdef,ifndef,line,%
  753. include,pragma,undef,warning}%
  754. }[keywords,comments,strings,directives]%
  755. % \end{macrocode}
  756. % \begin{macrocode}
  757. %</lang1>
  758. % \end{macrocode}
  759. % \endgroup
  760. %
  761. % \begingroup
  762. % \begin{macrocode}
  763. %<*lang1>
  764. % \end{macrocode}
  765. % Thanks go to \lstthanks{Martin~Brodbeck}{Martin.Brodbeck@gmx.de}{2002/03/17}.
  766. % \begin{macrocode}
  767. %%
  768. %% C-Sharp definition (c) 2002 Martin Brodbeck
  769. %%
  770. \lst@definelanguage[Sharp]{C}%
  771. {morekeywords={abstract,base,bool,break,byte,case,catch,char,checked,%
  772. class,const,continue,decimal,default,delegate,do,double,else,%
  773. enum,event,explicit,extern,false,finally,fixed,float,for,foreach,%
  774. goto,if,implicit,in,int,interface,internal,is,lock,long,%
  775. namespace,new,null,object,operator,out,override,params,private,%
  776. protected,public,readonly,ref,return,sbyte,sealed,short,sizeof,%
  777. static,string,struct,switch,this,throw,true,try,typeof,uint,%
  778. ulong,unchecked,unsafe,ushort,using,virtual,void,while,%
  779. as,volatile,stackalloc},% Kai K\"ohne
  780. sensitive,%
  781. morecomment=[s]{/*}{*/},%
  782. morecomment=[l]//,%
  783. morestring=[b]"
  784. }[keywords,comments,strings]%
  785. % \end{macrocode}
  786. % \begin{macrocode}
  787. %</lang1>
  788. % \end{macrocode}
  789. % \endgroup
  790. %
  791. %
  792. % \subsection{Caml and Objective Caml}
  793. %
  794. % \lstthanks{Patrick~Cousot}{Patrick.Cousot@wanadoo.fr}{1999/01/09} mailed me
  795. % the definition. \lsthelper{Tom~Hirschowitz}{tom.hirschowitz@inria.fr}
  796. % {2003/05/27}{missing keywords: object, ref} added two keywords.
  797. % \begingroup
  798. % \begin{macrocode}
  799. %<*lang2>
  800. % \end{macrocode}
  801. % \begin{macrocode}
  802. %%
  803. %% (Objective) Caml definition (c) 1999 Patrick Cousot
  804. %%
  805. %% Objective CAML and Caml light are freely available, together with a
  806. %% reference manual, at URL ftp.inria.fr/lang/caml-light for the Unix,
  807. %% Windows and Macintosh OS operating systems.
  808. %%
  809. \lst@definelanguage[Objective]{Caml}[light]{Caml}
  810. {deletekeywords={not,prefix,value,where},%
  811. morekeywords={assert,asr,class,closed,constraint,external,false,%
  812. functor,include,inherit,land,lazy,lor,lsl,lsr,lxor,method,mod,%
  813. module,new,open,parser,private,sig,struct,true,val,virtual,when,%
  814. object,ref},% TH
  815. }%
  816. % \end{macrocode}
  817. % \begin{macrocode}
  818. \lst@definelanguage[light]{Caml}
  819. {morekeywords={and,as,begin,do,done,downto,else,end,exception,for,%
  820. fun,function,if,in,let,match,mutable,not,of,or,prefix,rec,then,%
  821. to,try,type,value,where,while,with},%
  822. sensitive,%
  823. morecomment=[n]{(*}{*)},%
  824. morestring=[b]",%
  825. moredelim=*[directive]\#,%
  826. moredirectives={open,close,include}%
  827. }[keywords,comments,strings,directives]%
  828. % \end{macrocode}
  829. % \begin{macrocode}
  830. %</lang2>
  831. % \end{macrocode}
  832. % \endgroup
  833. %
  834. %
  835. % \subsection{Cobol}
  836. %
  837. % Keywords are not marked if their names are broken by EOL, for example DEBUG-
  838. % CONTENTS. Sometimes portions of a string are not printed as a string.
  839. % This happens if the double quote is not doubled to insert a quote,
  840. % e.g.~|""bad" cobol"| won't be printed correctly.
  841. % \begingroup
  842. % \begin{macrocode}
  843. %<*lang2>
  844. % \end{macrocode}
  845. % \begin{macrocode}
  846. \lst@definelanguage[ibm]{Cobol}[1985]{Cobol}%
  847. {morekeywords={ADDRESS,BEGINNING,COMP-3,COMP-4,COMPUTATIONAL,%
  848. COMPUTATIONAL-3,COMPUTATIONAL-4,DISPLAY-1,EGCS,EJECT,ENDING,%
  849. ENTRY,GOBACK,ID,MORE-LABELS,NULL,NULLS,PASSWORD,RECORDING,%
  850. RETURN-CODE,SERVICE,SKIP1,SKIP2,SKIP3,SORT-CONTROL,SORT-RETURN,%
  851. SUPPRESS,TITLE,WHEN-COMPILED},%
  852. }%
  853. % \end{macrocode}
  854. % \begin{macrocode}
  855. \lst@definelanguage[1985]{Cobol}[1974]{Cobol}%
  856. {morekeywords={ALPHABET,ALPHABETIC-LOWER,ALPHABETIC-UPPER,%
  857. ALPHANUMERIC,ALPHANUMERIC-EDITED,ANY,CLASS,COMMON,CONTENT,%
  858. CONTINUE,DAY-OF-WEEK,END-ADD,END-CALL,END-COMPUTE,END-DELETE,%
  859. END-DIVIDE,END-EVALUATE,END-IF,END-MULTIPLY,END-PERFORM,END-READ,%
  860. END-RECEIVE,END-RETURN,END-REWRITE,END-SEARCH,END-START,%
  861. END-STRING,END-SUBTRACT,END-UNSTRING,END-WRITE,EVALUATE,EXTERNAL,%
  862. FALSE,GLOBAL,INITIALIZE,NUMERIC-EDITED,ORDER,OTHER,%
  863. PACKED-DECIMAL,PADDING,PURGE,REFERENCE,RELOAD,REPLACE,STANDARD-1,%
  864. STANDARD-2,TEST,THEN,TRUE},%
  865. }%
  866. % \end{macrocode}
  867. % \begin{macrocode}
  868. \lst@definelanguage[1974]{Cobol}%
  869. {morekeywords={ACCEPT,ACCESS,ADD,ADVANCING,AFTER,ALL,ALPHABETIC,ALSO,%
  870. ALTER,ALTERNATE,AND,ARE,AREA,AREAS,ASCENDING,ASSIGN,AT,AUTHOR,%
  871. BEFORE,BINARY,BLANK,BLOCK,BOTTOM,BY,CALL,CANCEL,CD,CF,CH,%
  872. CHARACTER,CHARACTERS,CLOCK-UNITS,CLOSE,COBOL,CODE,CODE-SET,%
  873. COLLATING,COLUMN,COMMA,COMMUNICATION,COMP,COMPUTE,CONFIGURATION,%
  874. CONTAINS,CONTROL,CONTROLS,CONVERTING,COPY,CORR,CORRESPONDING,%
  875. COUNT,CURRENCY,DATA,DATE,DATE-COMPILED,DATE-WRITTEN,DAY,DE,%
  876. DEBUG-CONTENTS,DEGUB-ITEM,DEBUG-LINE,DEBUG-NAME,DEBUG-SUB1,%
  877. DEBUG-SUB2,DEBUG-SUB3,DEBUGGING,DECIMAL-POINT,DECLARATIVES,%
  878. DELETE,DELIMITED,DELIMITER,DEPENDING,DESCENDING,DESTINATION,%
  879. DETAIL,DISABLE,DISPLAY,DIVIDE,DIVISION,DOWN,DUPLICATES,DYNAMIC,%
  880. EGI,ELSE,EMI,ENABLE,END,END-OF-PAGE,ENTER,ENVIRONMENT,EOP,EQUAL,%
  881. ERROR,ESI,EVERY,EXCEPTION,EXIT,EXTEND,FD,FILE,FILE-CONTROL,%
  882. FILLER,FINAL,FIRST,FOOTING,FOR,FROM,GENERATE,GIVING,GO,GREATER,%
  883. GROUP,HEADING,HIGH-VALUE,HIGH-VALUES,I-O,I-O-CONTROL,%
  884. IDENTIFICATION,IF,IN,INDEX,INDEXED,INDICATE,INITIAL,INITIATE,%
  885. INPUT,INPUT-OUTPUT,INSPECT,INSTALLATION,INTO,INVALID,IS,JUST,%
  886. JUSTIFIED,KEY,LABEL,LAST,LEADING,LEFT,LENGTH,LESS,LIMIT,LIMITS,%
  887. LINAGE,LINAGE-COUNTER,LINE,LINE-COUNTER,LINES,LINKAGE,LOCK,%
  888. LOW-VALUE,LOW-VALUES,MEMORY,MERGE,MESSAGE,MODE,MODULES,MOVE,%
  889. MULTIPLE,MULTIPLY,NATIVE,NEGATIVE,NEXT,NO,NOT,NUMBER,NUMERIC,%
  890. OBJECT-COMPUTER,OCCURS,OF,OFF,OMITTED,ON,OPEN,OPTIONAL,OR,%
  891. ORGANIZATION,OUTPUT,OVERFLOW,PAGE,PAGE-COUNTER,PERFORM,PF,PH,PIC,%
  892. PICTURE,PLUS,POINTER,POSITION,PRINTING,POSITIVE,PRINTING,%
  893. PROCEDURE,PROCEDURES,PROCEED,PROGRAM,PROGRAM-ID,QUEUE,QUOTE,%
  894. QUOTES,RANDOM,RD,READ,RECEIVE,RECORD,RECORDING,RECORDS,REDEFINES,%
  895. REEL,REFERENCES,RELATIVE,RELEASE,REMAINDER,REMOVAL,RENAMES,%
  896. REPLACING,REPORT,REPORTING,REPORTS,RERUN,RESERVE,RESET,RETURN,%
  897. REVERSED,REWIND,REWRITE,RF,RH,RIGHT,ROUNDED,RUN,SAME,SD,SEARCH,%
  898. SECTION,SECURITY,SEGMENT,SEGMENT-LIMIT,SELECT,SEND,SENTENCE,%
  899. SEPARATE,SEQUENCE,SEQUENTIAL,SET,SIGN,SIZE,SORT,SORT-MERGE,%
  900. SOURCE,SOURCE-COMPUTER,SPACE,SPACES,SPECIAL-NAMES,STANDARD,START,%
  901. STATUS,STOP,STRING,SUB-QUEUE-1,SUB-QUEUE-2,SUB-QUEUE-3,SUBTRACT,%
  902. SUM,SYMBOLIC,SYNC,SYNCHRONIZED,TABLE,TALLYING,TAPE,TERMINAL,%
  903. TERMINATE,TEXT,THAN,THROUGH,THRU,TIME,TIMES,TO,TOP,TRAILING,TYPE,%
  904. UNIT,UNSTRING,UNTIL,UP,UPON,USAGE,USE,USING,VALUE,VALUES,VARYING,%
  905. WHEN,WITH,WORDS,WORKING-STORAGE,WRITE,ZERO,ZEROES,ZEROS},%
  906. alsodigit=-,%
  907. sensitive=f,% ???
  908. morecomment=[f][commentstyle][6]*,%
  909. morestring=[d]"% ??? doubled
  910. }[keywords,comments,strings]%
  911. % \end{macrocode}
  912. % \texttt{commentstyle} (not the surrounding brackets) have been added after
  913. % a bug report by \lsthelper{Stephen Reindl}{Stephen.Reindl@vodafone.de}
  914. % {2002/05/28}{no commentstyle in Cobol}.
  915. % \begin{macrocode}
  916. %</lang2>
  917. % \end{macrocode}
  918. % \endgroup
  919. %
  920. %
  921. % \subsection{Comal 80}
  922. %
  923. % The data is from
  924. % \begin{itemize}
  925. % \item
  926. % \textsc{Borge R. Christensen}:
  927. % \textbf{Strukturierte Programmierung mit COMAL 80} [aus dem
  928. % D\"anischen \"ubertragen und bearbeitet von Margarete Kragh];
  929. % 2., verb.\ Auflage -- M\"unchen; Wien: Oldenburg, 1985;
  930. % ISBN 3-486-26902-X.
  931. % \end{itemize}
  932. % \begingroup
  933. % \begin{macrocode}
  934. %<*lang3>
  935. % \end{macrocode}
  936. % \begin{macrocode}
  937. \lst@definelanguage{Comal 80}%
  938. {morekeywords={AND,AUTO,CASE,DATA,DEL,DIM,DIV,DO,ELSE,ENDCASE,ENDIF,%
  939. ENDPROC,ENDWHILE,EOD,EXEC,FALSE,FOR,GOTO,IF,INPUT,INT,LIST,LOAD,%
  940. MOD,NEW,NEXT,NOT,OF,OR,PRINT,PROC,RANDOM,RENUM,REPEAT,RND,RUN,%
  941. SAVE,SELECT,STOP,TAB,THEN,TRUE,UNTIL,WHILE,ZONE},%
  942. sensitive=f,% ???
  943. morecomment=[l]//,%
  944. morestring=[d]"%
  945. }[keywords,comments,strings]%
  946. % \end{macrocode}
  947. % \begin{macrocode}
  948. %</lang3>
  949. % \end{macrocode}
  950. % \endgroup
  951. %
  952. %
  953. % \subsection{bash, csh, and sh}
  954. %
  955. % csh is from \lstthanks{Kai~Below}{below@tu-harburg.de}{1998/09/21},
  956. % but he pointed out that some keywords are probably missing.
  957. % \begingroup
  958. % \begin{macrocode}
  959. %<*lang1>
  960. % \end{macrocode}
  961. % \begin{macrocode}
  962. %%
  963. %% csh definition (c) 1998 Kai Below
  964. %%
  965. \lst@definelanguage{csh}
  966. {morekeywords={alias,awk,cat,echo,else,end,endif,endsw,exec,exit,%
  967. foreach,glob,goto,history,if,logout,nice,nohup,onintr,repeat,sed,%
  968. set,setenv,shift,source,switch,then,time,while,umask,unalias,%
  969. unset,wait,while,@,env,argv,child,home,ignoreeof,noclobber,%
  970. noglob,nomatch,path,prompt,shell,status,verbose,print,printf,%
  971. sqrt,BEGIN,END},%
  972. morecomment=[l]\#,%
  973. morestring=[d]"%
  974. }[keywords,comments,strings]%
  975. % \end{macrocode}
  976. % Thanks to \lstthanks{Riccardo~Murri}{riccardo.murri@gmx.it}{2003/09/24}
  977. % for the following two definitions.
  978. % \begin{macrocode}
  979. %%
  980. %% bash,sh definition (c) 2003 Riccardo Murri <riccardo.murri@gmx.it>
  981. %%
  982. \lst@definelanguage{bash}[]{sh}%
  983. {morekeywords={alias,bg,bind,builtin,command,compgen,complete,%
  984. declare,disown,enable,fc,fg,history,jobs,et,local,logout,printf,%
  985. pushd,popd,select,set,suspend,shopt,source,times,type,typeset,%
  986. ulimit,unalias,wait},%
  987. }%
  988. \lst@definelanguage{sh}%
  989. {morekeywords={awk,break,case,cat,cd,continue,do,done,echo,else,%
  990. env,eval,exec,expr,exit,export,false,fi,for,function,getopts,%
  991. hash,history,if,kill,nice,nohup,ps,pwd,read,readonly,return,%
  992. sed,shift,test,then,times,trap,true,umask,unset,until,while},%
  993. morecomment=[l]\#,%
  994. morestring=[d]"%
  995. }[keywords,comments,strings]%
  996. %</lang1>
  997. % \end{macrocode}
  998. % \endgroup
  999. %
  1000. %
  1001. % \subsection{Delphi}
  1002. %
  1003. % I took the data from Delphi 1.0 (?) online help.
  1004. % \lstthanks{Christian~Gudrian}{chrigu@kawo1.rwth-aachen.de}{2001/08/16}
  1005. % provided the `double slash' comment.
  1006. % \begingroup
  1007. % \begin{macrocode}
  1008. %<*lang2>
  1009. % \end{macrocode}
  1010. % \begin{macrocode}
  1011. \lst@definelanguage{Delphi}%
  1012. {morekeywords={and,as,asm,array,begin,case,class,const,constructor,%
  1013. destructor,div,do,downto,else,end,except,exports,file,finally,%
  1014. for,function,goto,if,implementation,in,inherited,inline,%
  1015. initialization,interface,is,label,library,mod,nil,not,object,of,%
  1016. or,packed,procedure,program,property,raise,record,repeat,set,%
  1017. shl,shr,string,then,to,try,type,unit,until,uses,var,while,with,%
  1018. xor,%
  1019. absolute,abstract,assembler,at,cdecl,default,dynamic,export,%
  1020. external,far,forward,index,name,near,nodefault,on,override,%
  1021. private,protected,public,published,read,resident,storedDir,%
  1022. virtual,write},%
  1023. morendkeywords={Abs,AddExitProc,Addr,AllocMem,AnsiCompareStr,%
  1024. AnsiCompareText,AnsiLowerCase,AnsiUpperCase,Append,AppendStr,%
  1025. ArcTan,AssignCrt,Assigned,AssignFile,BlockRead,BlockWrite,Break,%
  1026. ChangeFileExt,ChDir,Chr,CloseFile,ClrEol,ClrScr,Concat,Continue,%
  1027. Copy,Cos,CSeg,CursorTo,Date,DateTimeToFileDate,DateTimeToStr,%
  1028. DateTimeToString,DateToStr,DayOfWeek,Dec,DecodeDate,DecodeTime,%
  1029. Delete,DeleteFile,DiskFree,DiskSize,Dispose,DisposeStr,%
  1030. DoneWinCrt,DSeg,EncodeDate,EncodeTime,Eof,Eoln,Erase,Exclude,%
  1031. Exit,Exp,ExpandFileName,ExtractFileExt,ExtractFileName,%
  1032. ExtractFilePath,FileAge,FileClose,FileDateToDateTime,FileExists,%
  1033. FileGetAttr,FileGetDate,FileOpen,FilePos,FileRead,FileSearch,%
  1034. FileSeek,FileSetAttr,FileSetDate,FileSize,FillChar,FindClose,%
  1035. FindFirst,FindNext,FloatToDecimal,FloatToStrF,FloatToStr,%
  1036. FloatToText,FloatToTextFmt,Flush,FmtLoadStr,FmtStr,Format,%
  1037. FormatBuf,FormatDateTime,FormatFloat,Frac,Free,FreeMem,GetDir,%
  1038. GetMem,GotoXY,Halt,Hi,High,Inc,Include,InitWinCrt,Insert,Int,%
  1039. IntToHex,IntToStr,IOResult,IsValidIdent,KeyPressed,Length,Ln,Lo,%
  1040. LoadStr,Low,LowerCase,MaxAvail,MemAvail,MkDir,Move,New,NewStr,%
  1041. Now,Odd,Ofs,Ord,ParamCount,ParamStr,Pi,Pos,Pred,Ptr,Random,%
  1042. Randomize,Read,ReadBuf,ReadKey,Readln,ReAllocMem,Rename,%
  1043. RenameFile,Reset,Rewrite,RmDir,Round,RunError,ScrollTo,Seek,%
  1044. SeekEof,SeekEoln,Seg,SetTextBuf,Sin,SizeOf,SPtr,Sqr,Sqrt,SSeg,%
  1045. Str,StrCat,StrComp,StrCopy,StrDispose,StrECopy,StrEnd,StrFmt,%
  1046. StrLCat,StrIComp,StrLComp,StrLCopy,StrLen,StrLFmt,StrLIComp,%
  1047. StrLower,StrMove,StrNew,StrPas,StrPCopy,StrPos,StrScan,StrRScan,%
  1048. StrToDate,StrToDateTime,StrToFloat,StrToInt,StrToIntDef,%
  1049. StrToTime,StrUpper,Succ,Swap,TextToFloat,Time,TimeToStr,%
  1050. TrackCursor,Trunc,Truncate,TypeOf,UpCase,UpperCase,Val,WhereX,%
  1051. WhereY,Write,WriteBuf,WriteChar,Writeln},%
  1052. sensitive=f,%
  1053. morecomment=[s]{(*}{*)},%
  1054. morecomment=[s]{\{}{\}},%
  1055. morecomment=[l]{//},% 2001 Christian Gudrian
  1056. morestring=[d]'%
  1057. }[keywords,comments,strings]%
  1058. % \end{macrocode}
  1059. % \begin{macrocode}
  1060. %</lang2>
  1061. % \end{macrocode}
  1062. % \endgroup
  1063. %
  1064. %
  1065. % \subsection{Eiffel}
  1066. %
  1067. % Data is from
  1068. % \begin{itemize}
  1069. % \item
  1070. % \textsc{Bertrand Meyer}: \textbf{Eiffel: the language};
  1071. % Prentice Hall International (UK) Ldt, 1992;
  1072. % ISBN 0-13-247925-7.
  1073. % \end{itemize}
  1074. % \begingroup
  1075. % \begin{macrocode}
  1076. %<*lang2>
  1077. % \end{macrocode}
  1078. % \begin{macrocode}
  1079. \lst@definelanguage{Eiffel}%
  1080. {morekeywords={alias,all,and,as,BIT,BOOLEAN,CHARACTER,check,class,%
  1081. creation,Current,debug,deferred,do,DOUBLE,else,elseif,end,%
  1082. ensure,expanded,export,external,false,feature,from,frozen,if,%
  1083. implies,indexing,infix,inherit,inspect,INTEGER,invariant,is,%
  1084. like,local,loop,NONE,not,obsolete,old,once,or,POINTER,prefix,%
  1085. REAL,redefine,rename,require,rescue,Result,retry,select,%
  1086. separate,STRING,strip,then,true,undefine,unique,until,variant,%
  1087. when,xor},%
  1088. sensitive,%
  1089. morecomment=[l]--,%
  1090. morestring=[d]",%
  1091. }[keywords,comments,strings]%
  1092. % \end{macrocode}
  1093. % The key=value \texttt{stringtest=false} has been removed after a bug
  1094. % report from \lsthelper{Xavier~Cr\'egut}{cregut@enseeiht.fr}{2002/09/09}
  1095. % {stringtest no more part of package}.
  1096. % \begin{macrocode}
  1097. %</lang2>
  1098. % \end{macrocode}
  1099. % \endgroup
  1100. %
  1101. %
  1102. % \subsection{Elan}
  1103. %
  1104. % The data come from
  1105. % \begin{itemize}
  1106. % \item
  1107. % \textsc{Leo~H.~Klingen, Jochen Liedtke}:
  1108. % \textbf{Programmieren mit ELAN};
  1109. % B.G.\ Teubner, Stuttgart 1983; ISBN 3-519-02507-8.
  1110. % \end{itemize}
  1111. % \begingroup
  1112. % \begin{macrocode}
  1113. %<*lang3>
  1114. % \end{macrocode}
  1115. % \begin{macrocode}
  1116. \lst@definelanguage{Elan}%
  1117. {morekeywords={ABS,AND,BOOL,CAND,CASE,CAT,COLUMNS,CONCR,CONJ,CONST,%
  1118. COR,DECR,DEFINES,DET,DIV,DOWNTO,ELIF,ELSE,END,ENDIF,ENDOP,%
  1119. ENDPACKET,ENDPROC,ENDREP,ENDSELECT,FALSE,FI,FILE,FOR,FROM,IF,%
  1120. INCR,INT,INV,LEAVE,LENGTH,LET,MOD,NOT,OF,OP,OR,OTHERWISE,PACKET,%
  1121. PROC,REAL,REP,REPEAT,ROW,ROWS,SELECT,SIGN,STRUCT,SUB,TEXT,THEN,%
  1122. TRANSP,TRUE,TYPE,UNTIL,UPTO,VAR,WHILE,WITH,XOR,%
  1123. maxint,sign,abs,min,max,random,initializerandom,subtext,code,%
  1124. replace,text,laenge,pos,compress,change,maxreal,smallreal,floor,%
  1125. pi,e,ln,log2,log10,sqrt,exp,tan,tand,sin,sind,cos,cosd,arctan,%
  1126. arctand,int,real,lastconversionok,put,putline,line,page,get,%
  1127. getline,input,output,sequentialfile,maxlinelaenge,reset,eof,%
  1128. close,complexzero,complexone,complexi,complex,realpart,imagpart,%
  1129. dphi,phi,vector,norm,replace,matrix,idn,row,column,sub,%
  1130. replacerow,replacecolumn,replaceelement,transp,errorsstop,stop},%
  1131. sensitive,%
  1132. morestring=[d]"%
  1133. }[keywords,strings]%
  1134. % \end{macrocode}
  1135. % \begin{macrocode}
  1136. %</lang3>
  1137. % \end{macrocode}
  1138. % \endgroup
  1139. %
  1140. %
  1141. % \subsection{Erlang}
  1142. %
  1143. % Thanks to \lstthanks{Daniel~Gazard}{gazard_d@epita.fr}{2003/05/31}.
  1144. % \begingroup
  1145. % \begin{macrocode}
  1146. %<*lang3>
  1147. % \end{macrocode}
  1148. % \begin{macrocode}
  1149. %%
  1150. %% Erlang definition (c) 2003 Daniel Gazard
  1151. %%
  1152. \lst@definelanguage{erlang}%
  1153. {morekeywords={abs,after,and,apply,atom,atom_to_list,band,binary,%
  1154. binary_to_list,binary_to_term,bor,bsl,bsr,bxor,case,catch,%
  1155. date,div,element,erase,end,exit,export,float,float_to_list,%
  1156. get,halt,hash,hd,if,info,import,integer,integer_to_list,%
  1157. length,link,list,list_to_atom,list_to_float,list_to_integer,%
  1158. list_to_tuple,module,node,nodes,now,of,or,pid,port,ports,%
  1159. processes,put,receive,reference,register,registered,rem,%
  1160. round,self,setelement,size,spawn,throw,time,tl,trace,trunc,%
  1161. tuple,tuple_to_list,unlink,unregister,whereis,error,false,%
  1162. infinity,nil,ok,true,undefined,when},%
  1163. otherkeywords={->,!,[,],\{,\},},%
  1164. morecomment=[l]\%,%
  1165. morestring=[b]",%
  1166. morestring=[b]'%
  1167. }[keywords,comments,strings]%
  1168. % \end{macrocode}
  1169. % \begin{macrocode}
  1170. %</lang3>
  1171. % \end{macrocode}
  1172. % \endgroup
  1173. %
  1174. %
  1175. % \subsection{Euphoria}
  1176. %
  1177. % \lstthanks{Detlef~Reimers}{dreimers@aol.com}{1998/08/30} sent me the language
  1178. % definition.
  1179. % \begingroup
  1180. % \begin{macrocode}
  1181. %<*lang2>
  1182. % \end{macrocode}
  1183. % \begin{macrocode}
  1184. %%
  1185. %% Euphoria definition (c) 1998 Detlef Reimers
  1186. %%
  1187. \lst@definelanguage{Euphoria}%
  1188. % for Euphoria 2.0, Rapid Deployment Software, Kanada
  1189. {morekeywords={abort,and,and_bits,append,arctan,atom,by,call,%
  1190. call_proc,call_func,c_proc,c_func,clear_screen,close,%
  1191. command_line,compare,constant,cos,do,date,else,elsif,end,exit,%
  1192. find,floor,for,function,getc,getenv,get_key,gets,global,%
  1193. get_pixel,if,include,integer,length,log,match,machine_func,%
  1194. machine_proc,mem_copy,mem_set,not,not_bits,or,object,open,%
  1195. or_bits,procedure,puts,position,prepend,print,printf,power,peek,%
  1196. poke,pixel,poke4,peek4s,peek4u,return,rand,repeat,remainder,%
  1197. routine_id,sequence,sqrt,sin,system,sprintf,then,type,to,time,%
  1198. trace,tan,while,with,without,xor,xor_bits},%
  1199. sensitive,%
  1200. morecomment=[l]--,%
  1201. morestring=[d]',%
  1202. morestring=[d]"%
  1203. }[keywords,comments,strings]%
  1204. % \end{macrocode}
  1205. % \begin{macrocode}
  1206. %</lang2>
  1207. % \end{macrocode}
  1208. % \endgroup
  1209. %
  1210. %
  1211. % \subsection{Fortran}
  1212. %
  1213. % Took things from
  1214. % \begin{itemize}
  1215. % \item
  1216. % \textsc{Karl Hans M\"uller}:
  1217. % \textbf{Fortran 77: Programmierungsanleitung};
  1218. % 3., v\"ollig neu bearb.\ Aufl.\ -- Mannheim; Wien; Z\"urich:
  1219. % Bibliographisches Institut, 1984;
  1220. % ISBN 3-411-05804-8
  1221. % \item
  1222. % \textsc{Thomas Michel}: \textbf{Fortran 90: Lehr-- und Handbuch};
  1223. % Mannheim; Leipzig; Wien; Z\"urich: BI-Wiss.-Verlag, 1994;
  1224. % ISBN 3-411-16861-7.
  1225. % \end{itemize}
  1226. % \begingroup
  1227. % \begin{macrocode}
  1228. %<*lang1>
  1229. % \end{macrocode}
  1230. % \lsthelper{Denis Girou}{Denis.Girou@idris.fr}{1998/07/26}{Fortran 95=90}
  1231. % proposed to have Fortran 95 and Fortran 90 to be equivalent.
  1232. % \begin{macrocode}
  1233. \lst@definelanguage[90]{Fortran}[95]{Fortran}{}
  1234. % \end{macrocode}
  1235. % There is no |morecomment=[f]| in Fortran 90 since otherwise CONTAINS could
  1236. % start a comment. This problem was reported by \lsthelper{Magne Rudshaug}
  1237. % {magne@ife.no}{1998/01/09}{no morecomment=[f] in Fortran 90}.
  1238. % Moreover the keyword INCLUDE is due to him.
  1239. % \begin{macrocode}
  1240. \lst@definelanguage[95]{Fortran}[77]{Fortran}%
  1241. {deletekeywords=SAVE,%
  1242. morekeywords={ACTION,ADVANCE,ALLOCATE,ALLOCATABLE,ASSIGNMENT,CASE,%
  1243. CONTAINS,CYCLE,DEALLOCATE,DEFAULT,DELIM,EXIT,INCLUDE,IN,NONE,IN,%
  1244. OUT,INTENT,INTERFACE,IOLENGTH,KIND,LEN,MODULE,NAME,NAMELIST,NMT,%
  1245. NULLIFY,ONLY,OPERATOR,OPTIONAL,OUT,PAD,POINTER,POSITION,PRIVATE,%
  1246. PUBLIC,READWRITE,RECURSIVE,RESULT,SELECT,SEQUENCE,SIZE,STAT,%
  1247. TARGET,USE,WHERE,WHILE,BLOCKDATA,DOUBLEPRECISION,ELSEIF,%
  1248. ENDBLOCKDATA,ENDDO,ENDFILE,ENDFUNCTION,ENDIF,ENDINTERFACE,%
  1249. ENDMODULE,ENDPROGRAM,ENDSELECT,ENDSUBROUTINE,ENDTYPE,ENDWHERE,%
  1250. GOTO,INOUT,SELECTCASE},%
  1251. deletecomment=[f],% no fixed comment line: 1998 Magne Rudshaug
  1252. morecomment=[l]!%
  1253. }%
  1254. % \end{macrocode}
  1255. % As proposed by \lsthelper{J\"orn Wilms}{wilms@rocinante.colorado.edu}
  1256. % {1997/07/07}{Fortran with \lstsensitivefalse} keywords are \emph{not} case
  1257. % sensitive.
  1258. % \begin{macrocode}
  1259. \lst@definelanguage[77]{Fortran}%
  1260. {morekeywords={ACCESS,ASSIGN,BACKSPACE,BLANK,BLOCK,CALL,CHARACTER,%
  1261. CLOSE,COMMON,COMPLEX,CONTINUE,DATA,DIMENSION,DIRECT,DO,DOUBLE,%
  1262. ELSE,END,ENTRY,EOF,EQUIVALENCE,ERR,EXIST,EXTERNAL,FILE,FMT,FORM,%
  1263. FORMAT,FORMATTED,FUNCTION,GO,TO,IF,IMPLICIT,INQUIRE,INTEGER,%
  1264. INTRINSIC,IOSTAT,LOGICAL,NAMED,NEXTREC,NUMBER,OPEN,OPENED,%
  1265. PARAMETER,PAUSE,PRECISION,PRINT,PROGRAM,READ,REAL,REC,RECL,%
  1266. RETURN,REWIND,SEQUENTIAL,STATUS,STOP,SUBROUTINE,THEN,TYPE,%
  1267. UNFORMATTED,UNIT,WRITE,SAVE},%
  1268. sensitive=f,%% not Fortran standard %%
  1269. morecomment=[f]*,%
  1270. morecomment=[f]C,%
  1271. morecomment=[f]c,%
  1272. morestring=[d]"%
  1273. }[keywords,comments,strings]%
  1274. % \end{macrocode}
  1275. % \begin{macrocode}
  1276. %</lang1>
  1277. % \end{macrocode}
  1278. % \endgroup
  1279. %
  1280. %
  1281. % \subsection{Guarded Command Language (GCL)}
  1282. %
  1283. % As you can read below, \lstthanks{Mark~van~Eijk}{mark@luon.net}{2002/10/30}
  1284. % provided this language definition.
  1285. % \begingroup
  1286. % \begin{macrocode}
  1287. %<*lang2>
  1288. % \end{macrocode}
  1289. % \begin{macrocode}
  1290. %%
  1291. %% Guarded Command Language (GCL) definition
  1292. %% (c) 2002 Mark van Eijk
  1293. %%
  1294. \lst@definelanguage{GCL}%
  1295. {morekeywords={const,con,var,array,of,skip,if,fi,do,od,div,mod},%
  1296. literate={|[}{\ensuremath{|\hskip -0.1em[}}2%
  1297. {]|}{\ensuremath{]\hskip -0.1em|}}2%
  1298. {[]}{\ensuremath{[\hskip -0.1em]}}2%
  1299. {->}{\ensuremath{\rightarrow}~}2%
  1300. {==}{\ensuremath{\equiv}~}2%
  1301. {>=}{\ensuremath{\geq}~}2%
  1302. {<=}{\ensuremath{\leq}~}2%
  1303. {/\\}{\ensuremath{\land}~}2%
  1304. {\\/}{\ensuremath{\lor}~}2%
  1305. {!}{\ensuremath{\lnot}}1%
  1306. {!=}{\ensuremath{\neq}~}2%
  1307. {max}{\ensuremath{\uparrow}}1%
  1308. {min}{\ensuremath{\downarrow}}1,%
  1309. sensitive=f,%
  1310. morecomment=[s]{\{}{\}},%
  1311. morestring=[d]'%
  1312. }[keywords,comments,strings]%
  1313. % \end{macrocode}
  1314. % \begin{macrocode}
  1315. %</lang2>
  1316. % \end{macrocode}
  1317. % \endgroup
  1318. %
  1319. %
  1320. % \subsection{Gnuplot}
  1321. %
  1322. % Thanks to \lsthelper{Dr.~Christoph~Giess}{Ch.Giess@gmx.de}{2003/07/15}{} for
  1323. % providing this definition.
  1324. % \begingroup
  1325. % \begin{macrocode}
  1326. %<*lang2>
  1327. %%
  1328. %% gnuplot definition (c) Christoph Giess
  1329. %%
  1330. \lst@definelanguage{Gnuplot}%
  1331. {keywords={abs,acos,acosh,arg,asin,asinh,atan,atan2,atanh,besj0,%
  1332. besj1,besy0,besy1,ceil,cos,cosh,erf,erfc,exp,floor,gamma,ibeta,%
  1333. inverf,igamma,imag,invnorm,int,lgamma,log,log10,norm,rand,real,%
  1334. sgn,sin,sinh,sqrt,tan,tanh,column,tm_hour,tm_mday,tm_min,tm_mon,%
  1335. tm_sec,tm_wday,tm_yday,tm_year,valid,cd,call,clear,exit,fit,%
  1336. help,if,load,pause,plot,print,pwd,quit,replot,reread,reset,save,%
  1337. set,show,shell,splot,test,update,angles,arrow,autoscale,border,%
  1338. boxwidth,clabel,clip,cntrparam,contour,data,dgrid3d,dummy,%
  1339. format,function,functions,grid,hidden3d,isosamples,key,keytitle,%
  1340. label,logscale,mapping,offsets,output,parametric,pointsize,%
  1341. polar,rrange,samples,size,style,surface,terminal,tics,time,%
  1342. timefmt,title,trange,urange,variables,view,vrange,xdata,xlabel,%
  1343. xmargin,xrange,xtics,mxtics,mytics,xdtics,xmtics,xzeroaxis,%
  1344. ydata,ylabel,yrange,ytics,ydtics,ymtics,yzeroaxis,zdata,zero,%
  1345. zeroaxis,zlabel,zrange,ztics,zdtics,zmtics,timefm,using,title,%
  1346. with,index,every,thru,smooth},%
  1347. sensitive,%
  1348. comment=[l]\#,%
  1349. morestring=[b]",%
  1350. morestring=[b]',%
  1351. }[keywords,comments,strings]%
  1352. %</lang2>
  1353. % \end{macrocode}
  1354. % \endgroup
  1355. %
  1356. %
  1357. % \subsection{Haskell}
  1358. %
  1359. % Thanks to \lstthanks{Peter~Bartke}{bartke@inf.fu-berlin.de}{1999/11/18} for
  1360. % providing the new definition.
  1361. % \begingroup
  1362. % \begin{macrocode}
  1363. %<*lang2>
  1364. % \end{macrocode}
  1365. % \begin{macrocode}
  1366. %%
  1367. %% Haskell98 as implemented in Hugs98. See http://www.haskell.org
  1368. %% All keywords from Prelude and Standard Libraries
  1369. %% (c) 1999 Peter Bartke
  1370. %%
  1371. \lst@definelanguage{Haskell}%
  1372. {otherkeywords={=>},%
  1373. morekeywords={abstype,if,then,else,case,class,data,default,deriving,%
  1374. hiding,if,in,infix,infixl,infixr,import,instance,let,module,%
  1375. newtype,of,qualified,type,where,do,AbsoluteSeek,AppendMode,%
  1376. Array,BlockBuffering,Bool,BufferMode,Char,Complex,Double,Either,%
  1377. FilePath,Float,Int,Integer,IO,IOError,Ix,LineBuffering,Maybe,%
  1378. Ordering,NoBuffering,ReadMode,ReadWriteMode,ReadS,RelativeSeek,%
  1379. SeekFromEnd,SeekMode,ShowS,StdGen,String,Void,Bounded,Enum,Eq,%
  1380. Eval,ExitCode,exitFailure,exitSuccess,Floating,Fractional,%
  1381. Functor,Handle,HandlePosn,IOMode,Integral,List,Monad,MonadPlus,%
  1382. MonadZero,Num,Numeric,Ord,Random,RandomGen,Ratio,Rational,Read,%
  1383. Real,RealFloat,RealFrac,Show,System,Prelude,EQ,False,GT,Just,%
  1384. Left,LT,Nothing,Right,WriteMode,True,abs,accum,accumArray,%
  1385. accumulate,acos,acosh,all,and,any,ap,appendFile,applyM,%
  1386. approxRational,array,asTypeOf,asin,asinh,assocs,atan,atan2,atanh,%
  1387. bounds,bracket,bracket_,break,catch,catMaybes,ceiling,chr,cis,%
  1388. compare,concat,concatMap,conjugate,const,cos,cosh,curry,cycle,%
  1389. decodeFloat,delete,deleteBy,deleteFirstsBy,denominator,%
  1390. digitToInt,div,divMod,drop,dropWhile,either,elem,elems,elemIndex,%
  1391. elemIndices,encodeFloat,enumFrom,enumFromThen,enumFromThenTo,%
  1392. enumFromTo,error,even,exitFailure,exitWith,exp,exponent,fail,%
  1393. filter,filterM,find,findIndex,findIndices,flip,floatDigits,%
  1394. floatRadix,floatRange,floatToDigits,floor,foldl,foldM,foldl1,%
  1395. foldr,foldr1,fromDouble,fromEnum,fromInt,fromInteger,%
  1396. fromIntegral,fromJust,fromMaybe,fromRat,fromRational,%
  1397. fromRealFrac,fst,gcd,genericLength,genericTake,genericDrop,%
  1398. genericSplitAt,genericIndex,genericReplicate,getArgs,getChar,%
  1399. getContents,getEnv,getLine,getProgName,getStdGen,getStdRandom,%
  1400. group,groupBy,guard,hClose,hFileSize,hFlush,hGetBuffering,%
  1401. hGetChar,hGetContents,hGetLine,hGetPosn,hIsClosed,hIsEOF,hIsOpen,%
  1402. hIsReadable,hIsSeekable,hIsWritable,hLookAhead,hPutChar,hPutStr,%
  1403. hPutStrLn,hPrint,hReady,hSeek,hSetBuffering,hSetPosn,head,%
  1404. hugsIsEOF,hugsHIsEOF,hugsIsSearchErr,hugsIsNameErr,%
  1405. hugsIsWriteErr,id,ioError,imagPart,index,indices,init,inits,%
  1406. inRange,insert,insertBy,interact,intersect,intersectBy,%
  1407. intersperse,intToDigit,ioeGetErrorString,ioeGetFileName,%
  1408. ioeGetHandle,isAlreadyExistsError,isAlreadyInUseError,isAlpha,%
  1409. isAlphaNum,isAscii,isControl,isDenormalized,isDoesNotExistError,%
  1410. isDigit,isEOF,isEOFError,isFullError,isHexDigit,isIEEE,%
  1411. isIllegalOperation,isInfinite,isJust,isLower,isNaN,%
  1412. isNegativeZero,isNothing,isOctDigit,isPermissionError,isPrefixOf,%
  1413. isPrint,isSpace,isSuffixOf,isUpper,isUserError,iterate,ixmap,%
  1414. join,last,lcm,length,lex,lexDigits,lexLitChar,liftM,liftM2,%
  1415. liftM3,liftM4,liftM5,lines,listArray,listToMaybe,log,logBase,%
  1416. lookup,magnitude,makePolar,map,mapAccumL,mapAccumR,mapAndUnzipM,%
  1417. mapM,mapM_,mapMaybe,max,maxBound,maximum,maximumBy,maybe,%
  1418. maybeToList,min,minBound,minimum,minimumBy,mkPolar,mkStdGen,%
  1419. mplus,mod,msum,mzero,negate,next,newStdGen,not,notElem,nub,nubBy,%
  1420. null,numerator,odd,openFile,or,ord,otherwise,partition,phase,pi,%
  1421. polar,pred,print,product,properFraction,putChar,putStr,putStrLn,%
  1422. quot,quotRem,random,randomIO,randomR,randomRIO,randomRs,randoms,%
  1423. rangeSize,read,readDec,readFile,readFloat,readHex,readInt,readIO,%
  1424. readList,readLitChar,readLn,readParen,readOct,readSigned,reads,%
  1425. readsPrec,realPart,realToFrac,recip,rem,repeat,replicate,return,%
  1426. reverse,round,scaleFloat,scanl,scanl1,scanr,scanr1,seq,sequence,%
  1427. sequence_,setStdGen,show,showChar,showEFloat,showFFloat,%
  1428. showFloat,showGFloat,showInt,showList,showLitChar,showParen,%
  1429. showSigned,showString,shows,showsPrec,significand,signum,sin,%
  1430. sinh,snd,sort,sortBy,span,split,splitAt,sqrt,stderr,stdin,stdout,%
  1431. strict,subtract,succ,sum,system,tail,tails,take,takeWhile,tan,%
  1432. tanh,toEnum,toInt,toInteger,toLower,toRational,toUpper,transpose,%
  1433. truncate,try,uncurry,undefined,unfoldr,union,unionBy,unless,%
  1434. unlines,until,unwords,unzip,unzip3,unzip4,unzip5,unzip6,unzip7,%
  1435. userError,when,words,writeFile,zero,zip,zip3,zip4,zip5,zip6,zip7,%
  1436. zipWith,zipWithM,zipWithM_,zipWith3,zipWith4,zipWith5,zipWith6,%
  1437. zipWith7},%
  1438. sensitive,%
  1439. morecomment=[l]--,%
  1440. morecomment=[n]{\{-}{-\}},%
  1441. morestring=[b]"%
  1442. }[keywords,comments,strings]%
  1443. % \end{macrocode}
  1444. % \begin{macrocode}
  1445. %</lang2>
  1446. % \end{macrocode}
  1447. % \endgroup
  1448. %
  1449. %
  1450. % \subsection{HTML}
  1451. %
  1452. % I'm quite the opposite of a HTML wizard. In particular this is true for the
  1453. % defined keywords. \lstthanks{Matthias~Bethke}{-}{2003/09/01} helped me out
  1454. % and extended the list.
  1455. % \begingroup
  1456. % \begin{macrocode}
  1457. %<*lang1>
  1458. % \end{macrocode}
  1459. % \begin{macrocode}
  1460. \lst@definelanguage{HTML}%
  1461. {morekeywords={A,ABBR,ACRONYM,ADDRESS,APPLET,AREA,B,BASE,BASEFONT,%
  1462. BDO,BIG,BLOCKQUOTE,BODY,BR,BUTTON,CAPTION,CENTER,CITE,CODE,COL,%
  1463. COLGROUP,DD,DEL,DFN,DIR,DIV,DL,DOCTYPE,DT,EM,FIELDSET,FONT,FORM,%
  1464. FRAME,FRAMESET,HEAD,HR,H1,H2,H3,H4,H5,H6,HTML,I,IFRAME,IMG,INPUT,%
  1465. INS,ISINDEX,KBD,LABEL,LEGEND,LH,LI,LINK,LISTING,MAP,META,MENU,%
  1466. NOFRAMES,NOSCRIPT,OBJECT,OPTGROUP,OPTION,P,PARAM,PLAINTEXT,PRE,%
  1467. OL,Q,S,SAMP,SCRIPT,SELECT,SMALL,SPAN,STRIKE,STRING,STRONG,STYLE,%
  1468. SUB,SUP,TABLE,TBODY,TD,TEXTAREA,TFOOT,TH,THEAD,TITLE,TR,TT,U,UL,%
  1469. VAR,XMP,%
  1470. accesskey,action,align,alink,alt,archive,axis,background,bgcolor,%
  1471. border,cellpadding,cellspacing,charset,checked,cite,class,classid,%
  1472. code,codebase,codetype,color,cols,colspan,content,coords,data,%
  1473. datetime,defer,disabled,dir,event,error,for,frameborder,headers,%
  1474. height,href,hreflang,hspace,http-equiv,id,ismap,label,lang,link,%
  1475. longdesc,marginwidth,marginheight,maxlength,media,method,multiple,%
  1476. name,nohref,noresize,noshade,nowrap,onblur,onchange,onclick,%
  1477. ondblclick,onfocus,onkeydown,onkeypress,onkeyup,onload,onmousedown,%
  1478. profile,readonly,onmousemove,onmouseout,onmouseover,onmouseup,%
  1479. onselect,onunload,rel,rev,rows,rowspan,scheme,scope,scrolling,%
  1480. selected,shape,size,src,standby,style,tabindex,text,title,type,%
  1481. units,usemap,valign,value,valuetype,vlink,vspace,width,xmlns},%
  1482. tag=**[s]<>,%
  1483. sensitive=f,%
  1484. morestring=[d]",% ??? doubled
  1485. % \end{macrocode}
  1486. % Now we take care of comments.
  1487. % We don't enter comment mode if we aren't inside |<>|.
  1488. % \begin{macrocode}
  1489. MoreSelectCharTable=%
  1490. \lst@CArgX--\relax\lst@DefDelimB{}{}%
  1491. {\ifnum\lst@mode=\lst@tagmode\else
  1492. \expandafter\@gobblethree
  1493. \fi}%
  1494. \lst@BeginComment\lst@commentmode{{\lst@commentstyle}}%
  1495. \lst@CArgX--\relax\lst@DefDelimE{}{}{}%
  1496. \lst@EndComment\lst@commentmode
  1497. }[keywords,comments,strings,html]%
  1498. % \end{macrocode}
  1499. % \lsthelper{Peter~Biechele}{peter.biechele@physik.uni-freiburg.de}
  1500. % {1999/07/01}{! Missing $\}$ inserted} reported a problem which was due to
  1501. % missing |\@empty| in value of |SelectCharTable|. And after receiving a bug
  1502. % report from \lsthelper{Jochen Schneider}{jschneider@ds3.etech.haw-hamburg.de}
  1503. % {2002/04/05}{use of \lst@thestyle doesn't match its definition} I converted
  1504. % the version 0.21 contents of |MoreSelectCharTable| to version 1.0.
  1505. % \begin{macrocode}
  1506. %</lang1>
  1507. % \end{macrocode}
  1508. % \endgroup
  1509. %
  1510. %
  1511. % \subsection{IDL}
  1512. %
  1513. % The definition is from \lstthanks{J\"urgen~Heim}
  1514. % {heim@astro.uni-tuebingen.de}{1998/07/27}.
  1515. % \begingroup
  1516. % \begin{macrocode}
  1517. %<*lang2>
  1518. % \end{macrocode}
  1519. % \begin{macrocode}
  1520. %%
  1521. %% IDL definition (c) 1998 Juergen Heim
  1522. %%
  1523. \lst@definelanguage{IDL}%
  1524. {morekeywords={and,begin,case,common,do,else,end,endcase,endelse,%
  1525. endfor,endif,endrep,endwhile,eq,for,function,ge,goto,gt,if,le,lt,%
  1526. mod,ne,not,of,on_ioerror,or,pro,repeat,return,then,until,while,%
  1527. xor,on_error,openw,openr,openu,print,printf,printu,plot,read,%
  1528. readf,readu,writeu,stop},%
  1529. sensitive=f,%
  1530. morecomment=[l];,%
  1531. morestring=[d]'%
  1532. }[keywords,comments,strings]%
  1533. % \end{macrocode}
  1534. % \begin{macrocode}
  1535. %</lang2>
  1536. % \end{macrocode}
  1537. % \endgroup
  1538. %
  1539. %
  1540. % \subsection{Inform}
  1541. %
  1542. % Thanks to \lstthanks{Jonathan~Sauer}{jonathan.sauer@gmx.de}{2003/11/10}
  1543. % for this language definition. \lsthelper{Ulrike Fischer}{-}{2004/04/21}
  1544. % {Bug in listings.sty} pointed out that |\lstdefinelanguage| should be
  1545. % |\lst@definelanguage|.
  1546. % \begingroup
  1547. % \begin{macrocode}
  1548. %<*lang2>
  1549. % \end{macrocode}
  1550. % \begin{macrocode}
  1551. %%
  1552. %% Inform definition (c) 2003 Jonathan Sauer
  1553. %%
  1554. \lst@definelanguage{inform}{%
  1555. % Language keywords
  1556. morekeywords={breakdo,else,false,for,has,hasnt,if,%
  1557. in,indirect,jump,notin,nothing,NULL,objectloop,ofclass,%
  1558. private,property,provides,return,rfalse,rtrue,self,string,%
  1559. switch,to,true,until,while,with,%
  1560. creature,held,multiexcept,multiheld,multiinside,noun,number,%
  1561. scope,topic},%
  1562. %
  1563. % Inform functions
  1564. morekeywords=[2]{box,child,children,font,give,inversion,metaclass,move,%
  1565. new_line,parent,print,print_ret,read,remove,restore,sibling,%
  1566. save,spaces,quit,style,bold,underline,reverse,roman remaining,%
  1567. create,destroy,recreate,copy},%
  1568. %
  1569. % Inform definitions
  1570. morekeywords=[3]{Attribute,Array,Class,Constant,Default,End,Endif,Extend,%
  1571. Global,Ifdef,Iffalse,Ifndef,Ifnot,Iftrue,Include,Object,%
  1572. Property,Verb,Release,Serial,Statusline},%
  1573. %
  1574. % Library attributes
  1575. morekeywords=[4]{absent,animate,clothing,concealed,container,door,edible,%
  1576. enterable,female,general,light,lockable locked,male,moved,%
  1577. neuter,on,open,openable,pluralname,proper,scenery,scored,%
  1578. static,supporter,switchable,talkable,transparent,visited,%
  1579. workflag,worn},%
  1580. %
  1581. % Libary properties
  1582. morekeywords=[5]{n_to,s_to,e_to,w_to,ne_to,nw_to,se_to,sw_to,in_to,%
  1583. out_to,u_to,d_to,add_to_scope,after,article,articles,before,%
  1584. cant_go,capacity,daemon,describe,description,door_dir,door_to,%
  1585. each_turn,found_in,grammar,initial,inside_description,invent,%
  1586. life,list_together,name number,orders,parse_name,plural,%
  1587. react_after,react_before,short_name,short_name_indef,time_left,%
  1588. time_out,when_closed,when_open,when_on,when_off,%
  1589. with_key},
  1590. %
  1591. % Library routines
  1592. morekeywords=[6]{Achieved,AfterRoutines,AllowPushDir,Banner,ChangePlayer,%
  1593. CommonAncestor,DictionaryLookup,GetGNAOfObject,HasLightSource,%
  1594. IndirectlyContains,IsSeeThrough,Locale,LoopOverScope,LTI_Insert,%
  1595. MoveFloatingObjects,NextWord,NextWordStopped,NounDomain,%
  1596. ObjectIsUntouchable OffersLight,ParseToken,PlaceInScope,PlayerTo,%
  1597. PronounNotice,PronounValue,ScopeWithin,SetPronoun,SetTime,%
  1598. StartDaemon,StartTimer,StopDaemon,StopTimer,TestScope,TryNumber,%
  1599. UnsignedCompare,WordAddress,WordInProperty,WordLength,%
  1600. WriteListFrom,YesOrNo},%
  1601. %
  1602. % Library,entry points
  1603. morekeywords=[7]{AfterLife,AfterPrompt,Amusing,BeforeParsing,ChooseObjects,%
  1604. DarkToDark,DeathMessage,GamePostRoutine GamePreRoutine,%
  1605. Initialise,InScope,LookRoutine,NewRoom,ParseNoun,ParseNumber,%
  1606. ParserError,PrintRank,PrintTaskName,PrintVerb,TimePasses,%
  1607. UnknownVerb},%
  1608. %
  1609. % Library constants
  1610. morekeywords=[8]{NEWLINE_BIT,INDENT_BIT,FULLINV_BIT,ENGLISH_BIT,RECURSE_BIT,%
  1611. ALWAYS_BIT,TERSE_BIT,PARTINV_BIT,DEFART_BI