lstdrvrs.dtx 71 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761
  1. % \iffalse
  2. %
  3. % NOTE: This file contains very long lines (upto approx 250 characters).
  4. % I haven't wrapped them since I won't do that by hand and haven't
  5. % written any program doing the work.
  6. %
  7. % If you want to read this .dtx file, you might get in trouble with
  8. % such long lines!
  9. %
  10. %<*driver>
  11. \documentclass{ltxdoc}
  12. \EnableCrossrefs
  13. \CodelineIndex
  14. \OldMakeindex
  15. \begin{document}
  16. \DocInput{lstdrvrs.dtx}
  17. \end{document}
  18. %</driver>
  19. % \fi
  20. %
  21. %
  22. % \providecommand\lsthelper[4]{#1\ifx\empty#2\empty\typeout{^^JWarning: #1 has unknown email^^J}\else\space\texttt{<#2>}{}\fi}
  23. % \ifx\TODO\undefined
  24. % \newenvironment{TODO}{\begin{quote}\footnotesize To do:}{\end{quote}}
  25. % \fi
  26. %
  27. % \DoNotIndex{\[,\{,\},\],\1,\2,\3,\4,\5,\6,\7,\8,\9,\0}
  28. % \DoNotIndex{\`,\,,\!,\#,\$,\&,\',\(,\),\+,\.,\:,\;,\<,\=,\>,\?,\_}
  29. % \DoNotIndex{\askforoverwritefalse,\askforoverwritetrue,\batchfile}
  30. % \DoNotIndex{\begin,\def,\else,\@empty,\end,\endpreamble,\expandafter}
  31. % \DoNotIndex{\fi,\file,\from,\gdef,\generate,\ifnum,\ifx,\input}
  32. % \DoNotIndex{\keepsilent,\lccode,\let,\lowercase,\preamble,\relax}
  33. % \DoNotIndex{\undefined}
  34. %
  35. % \DoNotIndex{\lst@DriverLocation,\lst@SCmode,}
  36. % \DoNotIndex{\lst@eaten,\lst@EnterMode,\lst@ifmode,\lst@IfNextCharsArg}
  37. % \DoNotIndex{\lst@keywords,\lst@LeaveMode,\lst@mode,\lst@NewMode}
  38. % \DoNotIndex{\lst@PrintToken, alsodigit=,\lstalsoletter, alsoother=}
  39. % \DoNotIndex{\lstCC@@BeginComment,\lstCC@CommentE,\lstCC@TestCArg}
  40. % \DoNotIndex{\lstCC@Def,\lstCC@ProcessOther,\lstCC@ProcessPOD}
  41. % \DoNotIndex{\lstCC@SpecialUseAfter}
  42. % \DoNotIndex{\lstset,\lststorekeywords}
  43. %
  44. % \DoNotIndex{\lstkeys@cobol,\lstkeys@cobol@eightyfive,\lstkeys@fortran}
  45. % \DoNotIndex{\lstkeys@tex@commoncs,\lstkeys@tex@latexcs}
  46. % \DoNotIndex{\lstkeys@tex@primitives}
  47. %
  48. %
  49. % \title{Driver files for Listings.dtx 0.19\\ {\large by Carsten Heinz and individual authors:}}
  50. % \author{Kai Below\and Detlev Dr\"oge\and Christian Haul\and J\"urgen Heim\and Detlef Reimers\and Dominique de Waleffe\and Kai Wollenweber}
  51. % \date{}
  52. %
  53. % \maketitle
  54. %
  55. %
  56. % \section{Installation and configuration}
  57. %
  58. % \begingroup
  59. % \begin{macrocode}
  60. %<*install>
  61. %
  62. % do these things if not already done
  63. %
  64. \ifx\keepsilent\undefined %
  65. \input{docstrip}
  66. \keepsilent
  67. \askforoverwritefalse
  68. \fi
  69. \def\batchfile{lstdrvrs.ins}
  70. %
  71. % define preamble
  72. %
  73. \preamble
  74. (w)(c) 1996,1997,1998 Carsten Heinz and/or any other author mentioned
  75. elsewhere in this file.
  76. This file is distributed freely. You are not allowed to take money for
  77. the use or distribution of this file, except for a nominal charge for
  78. copying etc..
  79. This file is distributed without any warranty, express or implied, as
  80. to merchantability or fitness for any particular purpose.
  81. Permission is granted to change this file. You are not allowed to
  82. distribute any changed version this file, neither under the same name
  83. nor under a different one.
  84. \endpreamble
  85. %
  86. % generate all language drivers
  87. %
  88. \generate{
  89. \file{lstalgol.sty} {\from{listings.dtx}{keywordcomments}
  90. \from{lstdrvrs.dtx}{algol}}
  91. \file{lstc.sty} {\from{listings.dtx}{c}
  92. \from{lstdrvrs.dtx}{c,objective-c,c++}}
  93. \file{lstperl.sty} {\from{listings.dtx}{perl}
  94. \from{lstdrvrs.dtx}{perl}}
  95. \file{lstsimula.sty} {\from{listings.dtx}{keywordcomments}
  96. \from{lstdrvrs.dtx}{simula}}
  97. \file{lsttex.sty} {\from{listings.dtx}{tex}
  98. \from{lstdrvrs.dtx}{tex}}
  99. %
  100. \file{lstada.sty} {\from{lstdrvrs.dtx}{ada}}
  101. \file{lstcobol.sty} {\from{lstdrvrs.dtx}{cobol}}
  102. \file{lstedu.sty} {\from{lstdrvrs.dtx}{comal,elan,logo}}
  103. \file{lstcsh.sty} {\from{lstdrvrs.dtx}{csh}}
  104. \file{lstdelphi.sty} {\from{lstdrvrs.dtx}{delphi}}
  105. \file{lsteiffel.sty} {\from{lstdrvrs.dtx}{eiffel}}
  106. \file{lsteuphoria.sty}{\from{lstdrvrs.dtx}{euphoria}}
  107. \file{lstfortran.sty} {\from{lstdrvrs.dtx}{fortran}}
  108. \file{lsthtml.sty} {\from{lstdrvrs.dtx}{html}}
  109. \file{lstidl.sty} {\from{lstdrvrs.dtx}{idl}}
  110. \file{lstjava.sty} {\from{lstdrvrs.dtx}{java}}
  111. }
  112. \generate{
  113. \file{lstlisp.sty} {\from{lstdrvrs.dtx}{lisp}}
  114. \file{lstmatlab.sty} {\from{lstdrvrs.dtx}{matlab}}
  115. \file{lstmercury.sty} {\from{lstdrvrs.dtx}{mercury}}
  116. \file{lstmodula.sty} {\from{lstdrvrs.dtx}{modula}}
  117. \file{lstoberon.sty} {\from{lstdrvrs.dtx}{oberon}}
  118. \file{lstpascal.sty} {\from{lstdrvrs.dtx}{pascal}}
  119. \file{lstpli.sty} {\from{lstdrvrs.dtx}{pli}}
  120. \file{lstprolog.sty} {\from{lstdrvrs.dtx}{prolog}}
  121. \file{lstsql.sty} {\from{lstdrvrs.dtx}{sql}}
  122. \file{lstvhdl.sty} {\from{lstdrvrs.dtx}{vhdl}}
  123. }
  124. \end
  125. %</install>
  126. % \end{macrocode}
  127. %
  128. % \begingroup
  129. % \begin{macrocode}
  130. %<*config>
  131. % \end{macrocode}
  132. % \endgroup
  133. % Configuration starts with locations of some language drivers.
  134. % \begin{macrocode}
  135. \lst@DriverLocation{C++}{lstc}
  136. \lst@DriverLocation{Modula-2}{lstmodula}
  137. \lst@DriverLocation{Oberon-2}{lstoberon}
  138. \lst@DriverLocation{PL/I}{lstpli}
  139. % \end{macrocode}
  140. % \begin{macrocode}
  141. \lst@DriverLocation{Comal 80}{lstedu}
  142. \lst@DriverLocation{Elan}{lstedu}
  143. \lst@DriverLocation{Logo}{lstedu}
  144. % \end{macrocode}
  145. % Then we define default dialects.
  146. % \begin{macrocode}
  147. \lstset{defaultdialect=[68]Algol}
  148. \lstset{defaultdialect=[ANSI]C}
  149. \lstset{defaultdialect=[1985]Cobol}
  150. \lstset{defaultdialect=[ANSI]C++}
  151. \lstset{defaultdialect=[95]Fortran}
  152. \lstset{defaultdialect=[Standard]Pascal}
  153. \lstset{defaultdialect=[67]Simula}
  154. \lstset{defaultdialect=[plain]TeX}
  155. % \end{macrocode}
  156. % \begingroup
  157. % \begin{macrocode}
  158. %</config>
  159. % \end{macrocode}
  160. % \endgroup
  161. %
  162. %
  163. % \section{Language drivers}
  164. %
  165. % You should read section 'Overture' in the \texttt{listings.dtx} documentation.
  166. % |\lstPre@| and |\lstSCT| are explained there.
  167. % '\texttt{???}' still indicates things I don't know.
  168. %
  169. %
  170. % \subsection{Ada}
  171. %
  172. % Data come from
  173. % \begin{itemize}
  174. % \item
  175. % \textsc{Barnes, John Gilbert Presslie}:
  176. % \textbf{Programming in Ada plus language reference manual};
  177. % {\copyright} 1991 Addison-Wesley Publishing Company, Inc.;
  178. % ISBN 0-201-56539-0.
  179. % \end{itemize}
  180. % \begingroup
  181. % \begin{macrocode}
  182. %<*ada>
  183. % \end{macrocode}
  184. % \begin{macrocode}
  185. \lstdefinedrvlanguage{Ada}%
  186. {keywords={abort,abs,accept,access,all,and,array,at,begin,body,%
  187. case,constant,declare,delay,delta,digits,do,else,elsif,end,entry,%
  188. exception,exit,for,function,generic,goto,if,in,is,limited,loop,%
  189. mod,new,not,null,of,or,others,out,package,pragma,private,%
  190. procedure,raise,range,record,rem,renames,return,reverse,select,%
  191. separate,subtype,task,terminate,then,type,use,when,while,with,%
  192. xor},%
  193. sensitive=false,%
  194. commentline={--},%
  195. stringizer=[m]{"'}% percent not defined as stringizer so far
  196. }%
  197. % \end{macrocode}
  198. % \begin{macrocode}
  199. %</ada>
  200. % \end{macrocode}
  201. % \endgroup
  202. %
  203. %
  204. % \subsection{Algol}
  205. %
  206. % Data come from
  207. % \begin{itemize}
  208. % \item
  209. % \textsc{Uwe Pape}:
  210. % \textbf{Programmieren in ALGOL 60};
  211. % {\copyright} 1973 Carl Hanser Verlag M\"unchen;
  212. % ISBN 3-446-11605-2
  213. % \item
  214. % \textsc{Frank G.\ Pagan}:
  215. % \textbf{A practical guide to ALGOL 68};
  216. % {\copyright} 1976 by John Wiley $\&$ Sohn Ltd.;
  217. % ISBN 0-471-65746-8 (Cloth); ISBN 0-471-65747-6 (Pbk).
  218. % \end{itemize}
  219. % The definition of Algol 68 doesn't support comments enclosed by \rlap{/}c.
  220. % \begingroup
  221. % \begin{macrocode}
  222. %<*algol>
  223. % \end{macrocode}
  224. % \begin{macrocode}
  225. \lstdefinedrvlanguage[68]{Algol}%
  226. % ??? should 'i' be a keyword
  227. {keywords={abs,and,arg,begin,bin,bits,bool,by,bytes,case,channel,%
  228. char,co,comment,compl,conj,divab,do,down,elem,elif,else,empty,%
  229. end,entier,eq,esac,exit,false,fi,file,flex,for,format,from,ge,%
  230. goto,gt,heap,if,im,in,int,is,isnt,le,leng,level,loc,long,lt,lwb,%
  231. minusab,mod,modab,mode,ne,nil,not,od,odd,of,op,or,ouse,out,over,%
  232. overab,par,plusab,plusto,pr,pragmat,prio,proc,re,real,ref,repr,%
  233. round,sema,shl,short,shorten,shr,sign,skip,string,struct,then,%
  234. timesab,to,true,union,up,upb,void,while},%
  235. sensitive=false,% ???
  236. singlecomment={\#}{\#},%
  237. keywordcomment={co,comment}%
  238. }%
  239. % \end{macrocode}
  240. % \begin{macrocode}
  241. \lstdefinedrvlanguage[60]{Algol}%
  242. {keywords={array,begin,Boolean,code,comment,div,do,else,end,false,%
  243. for,goto,if,integer,label,own,power,procedure,real,step,string,%
  244. switch,then,true,until,value,while},%
  245. sensitive=false,% ???
  246. doublekeywordcommentsemicolon={end}{else,end}{comment}%
  247. }%
  248. %</algol>
  249. % \end{macrocode}
  250. % \endgroup
  251. %
  252. %
  253. % \subsection{C, C++ and Objective-C}
  254. %
  255. % \begingroup
  256. % \begin{macrocode}
  257. %<*c>
  258. % \end{macrocode}
  259. % \begin{macrocode}
  260. \lstdefinelanguage[ANSI]{C}%
  261. {keywords={auto,break,case,char,const,continue,default,do,double,%
  262. else,enum,extern,float,for,goto,if,int,long,register,return,%
  263. short,signed,sizeof,static,struct,switch,typedef,union,unsigned,%
  264. void,volatile,while},%
  265. sensitive=true,%
  266. singlecomment={/*}{*/},%
  267. stringizer=[b]{"},%
  268. cdirectives={define,elif,else,endif,error,if,ifdef,ifndef,line,%
  269. include,pragma,undef,warning}%
  270. }%
  271. % \end{macrocode}
  272. % \begin{macrocode}
  273. %</c>
  274. % \end{macrocode}
  275. % \endgroup
  276. %
  277. % \begingroup
  278. % \begin{macrocode}
  279. %<*c++>
  280. % \end{macrocode}
  281. % \begin{macrocode}
  282. \lstdefinedrvlanguage[ANSI]{C++}%
  283. {language=[ANSI]C,%
  284. morekeywords={asm,bad_cast,bad_typeid,bool,catch,class,const_cast,%
  285. delete,dynamic_cast,false,friend,inline,namespace,new,operator,%
  286. private,protected,public,reinterpret_cast,static_cast,template,%
  287. this,throw,true,try,type_info,typeid,using,virtual,xalloc,%
  288. __multiple_inheritance,__single_inheritance,%
  289. __virtual_inheritance},%
  290. commentline={//}%
  291. }%
  292. % \end{macrocode}
  293. % \begin{macrocode}
  294. \lstdefinedrvlanguage[Visual]{C++}%
  295. {language=[ANSI]C++,%
  296. morekeywords={__asm,__based,__cdecl,__declspec,dllexport,%
  297. dllimport,__except,__fastcall,__finally,__inline,__int8,__int16,%
  298. __int32,__int64,naked,__stdcall,thread,__try,__leave},%
  299. }%
  300. % \end{macrocode}
  301. % \begin{macrocode}
  302. %</c++>
  303. % \end{macrocode}
  304. % \endgroup
  305. %
  306. % Objective-C is due to \lsthelper{Detlev Dr\"oge}{[email protected]}{1997/11/04}{Objective-C}.
  307. % I've only done some conversion.
  308. % \begingroup
  309. % \begin{macrocode}
  310. %<*objective-c>
  311. % \end{macrocode}
  312. % \begin{macrocode}
  313. %% (c) 1997 Detlev Droege
  314. \lstdefinedrvlanguage[Objective]{C}%
  315. {language=[ANSI]C,%
  316. morekeywords={bycopy,id,in,inout,oneway,out,self,super,%
  317. @class,@defs,@encode,@end,@implementation,@interface,@private,%
  318. @protected,@protocol,@public,@selector},%
  319. commentline={//},%
  320. cdirectives={define,elif,else,endif,error,if,ifdef,ifndef,line,%
  321. include,import,pragma,undef,warning}%
  322. }%
  323. % \end{macrocode}
  324. % \begin{macrocode}
  325. %</objective-c>
  326. % \end{macrocode}
  327. % \endgroup
  328. %
  329. %
  330. % \subsection{Cobol}
  331. %
  332. % Keywords are not marked if their names are broken by EOL, for example DEBUG- CONTENTS.
  333. % Sometimes portions of a string are not printed as a string.
  334. % This happens if the double quote is not doubled to insert a quote, e.g.\ |""bad" cobol"| won't be printed correctly.
  335. % \begingroup
  336. % \begin{macrocode}
  337. %<*cobol>
  338. % \end{macrocode}
  339. % We store some keywords:
  340. % \begin{macrocode}
  341. \lststorekeywords\lstkeys@cobol{ACCEPT,ACCESS,ADD,ADVANCING,AFTER,ALL,%
  342. ALPHABETIC,ALSO,ALTER,ALTERNATE,AND,ARE,AREA,AREAS,ASCENDING,%
  343. ASSIGN,AT,AUTHOR,BEFORE,BINARY,BLANK,BLOCK,BOTTOM,BY,CALL,CANCEL,%
  344. CD,CF,CH,CHARACTER,CHARACTERS,CLOCK-UNITS,CLOSE,COBOL,CODE,%
  345. CODE-SET,COLLATING,COLUMN,COMMA,COMMUNICATION,COMP,COMPUTE,%
  346. CONFIGURATION,CONTAINS,CONTROL,CONTROLS,CONVERTING,COPY,CORR,%
  347. CORRESPONDING,COUNT,CURRENCY,DATA,DATE,DATE-COMPILED,DATE-WRITTEN,%
  348. DAY,DE,DEBUG-CONTENTS,DEGUB-ITEM,DEBUG-LINE,DEBUG-NAME,DEBUG-SUB1,%
  349. DEBUG-SUB2,DEBUG-SUB3,DEBUGGING,DECIMAL-POINT,DECLARATIVES,DELETE,%
  350. DELIMITED,DELIMITER,DEPENDING,DESCENDING,DESTINATION,DETAIL,%
  351. DISABLE,DISPLAY,DIVIDE,DIVISION,DOWN,DUPLICATES,DYNAMIC,EGI,ELSE,%
  352. EMI,ENABLE,END,END-OF-PAGE,ENTER,ENVIRONMENT,EOP,EQUAL,ERROR,ESI,%
  353. EVERY,EXCEPTION,EXIT,EXTEND,FD,FILE,FILE-CONTROL,FILLER,FINAL,%
  354. FIRST,FOOTING,FOR,FROM,GENERATE,GIVING,GO,GREATER,GROUP,HEADING,%
  355. HIGH-VALUE,HIGH-VALUES,I-O,I-O-CONTROL,IDENTIFICATION,IF,IN,INDEX,%
  356. INDEXED,INDICATE,INITIAL,INITIATE,INPUT,INPUT-OUTPUT,INSPECT,%
  357. INSTALLATION,INTO,INVALID,IS,JUST,JUSTIFIED,KEY,LABEL,LAST,LEADING,%
  358. LEFT,LENGTH,LESS,LIMIT,LIMITS,LINAGE,LINAGE-COUNTER,LINE,%
  359. LINE-COUNTER,LINES,LINKAGE,LOCK,LOW-VALUE,LOW-VALUES,MEMORY,MERGE,%
  360. MESSAGE,MODE,MODULES,MOVE,MULTIPLE,MULTIPLY,NATIVE,NEGATIVE,NEXT,%
  361. NO,NOT,NUMBER,NUMERIC,OBJECT-COMPUTER,OCCURS,OF,OFF,OMITTED,ON,%
  362. OPEN,OPTIONAL,OR,ORGANIZATION,OUTPUT,OVERFLOW,PAGE,PAGE-COUNTER,%
  363. PERFORM,PF,PH,PIC,PICTURE,PLUS,POINTER,POSITION,PRINTING,POSITIVE,%
  364. PRINTING,PROCEDURE,PROCEDURES,PROCEED,PROGRAM,PROGRAM-ID,QUEUE,%
  365. QUOTE,QUOTES,RANDOM,RD,READ,RECEIVE,RECORD,RECORDING,RECORDS,%
  366. REDEFINES,REEL,REFERENCES,RELATIVE,RELEASE,REMAINDER,REMOVAL,%
  367. RENAMES,REPLACING,REPORT,REPORTING,REPORTS,RERUN,RESERVE,RESET,%
  368. RETURN,REVERSED,REWIND,REWRITE,RF,RH,RIGHT,ROUNDED,RUN,SAME,SD,%
  369. SEARCH,SECTION,SECURITY,SEGMENT,SEGMENT-LIMIT,SELECT,SEND,SENTENCE,%
  370. SEPARATE,SEQUENCE,SEQUENTIAL,SET,SIGN,SIZE,SORT,SORT-MERGE,SOURCE,%
  371. SOURCE-COMPUTER,SPACE,SPACES,SPECIAL-NAMES,STANDARD,START,STATUS,%
  372. STOP,STRING,SUB-QUEUE-1,SUB-QUEUE-2,SUB-QUEUE-3,SUBTRACT,SUM,%
  373. SYMBOLIC,SYNC,SYNCHRONIZED,TABLE,TALLYING,TAPE,TERMINAL,TERMINATE,%
  374. TEXT,THAN,THROUGH,THRU,TIME,TIMES,TO,TOP,TRAILING,TYPE,UNIT,%
  375. UNSTRING,UNTIL,UP,UPON,USAGE,USE,USING,VALUE,VALUES,VARYING,WHEN,%
  376. WITH,WORDS,WORKING-STORAGE,WRITE,ZERO,ZEROES,ZEROS}%
  377. \lststorekeywords\lstkeys@cobol@eightyfive{ALPHABET,ALPHABETIC-LOWER,%
  378. ALPHABETIC-UPPER,ALPHANUMERIC,ALPHANUMERIC-EDITED,ANY,CLASS,COMMON,%
  379. CONTENT,CONTINUE,DAY-OF-WEEK,END-ADD,END-CALL,END-COMPUTE,%
  380. END-DELETE,END-DIVIDE,END-EVALUATE,END-IF,END-MULTIPLY,END-PERFORM,%
  381. END-READ,END-RECEIVE,END-RETURN,END-REWRITE,END-SEARCH,END-START,%
  382. END-STRING,END-SUBTRACT,END-UNSTRING,END-WRITE,EVALUATE,EXTERNAL,%
  383. FALSE,GLOBAL,INITIALIZE,NUMERIC-EDITED,ORDER,OTHER,PACKED-DECIMAL,%
  384. PADDING,PURGE,REFERENCE,RELOAD,REPLACE,STANDARD-1,STANDARD-2,TEST,%
  385. THEN,TRUE}%
  386. % \end{macrocode}
  387. % Now define the languages:
  388. % \begin{macrocode}
  389. \lstdefinedrvlanguage[1985]{Cobol}%
  390. {keywords={\lstkeys@cobol,\lstkeys@cobol@eightyfive},%
  391. sensitive=false,% ???
  392. fixedcommentline=[6]{*},%
  393. stringizer=[d]{"}% ??? doubled
  394. }%
  395. % \end{macrocode}
  396. % \begin{macrocode}
  397. \lstdefinedrvlanguage[1974]{Cobol}%
  398. {keywords={\lstkeys@cobol},%
  399. sensitive=false,% ???
  400. fixedcommentline=[6]{*},%
  401. stringizer=[d]{"}% ??? doubled
  402. }%
  403. % \end{macrocode}
  404. % \begin{macrocode}
  405. \lstdefinedrvlanguage[ibm]{Cobol}%
  406. {keywords={\lstkeys@cobol,\lstkeys@cobol@eightyfive,%
  407. ADDRESS,BEGINNING,COMP-3,COMP-4,COMPUTATIONAL,COMPUTATIONAL-3,%
  408. COMPUTATIONAL-4,DISPLAY-1,EGCS,EJECT,ENDING,ENTRY,GOBACK,ID,%
  409. MORE-LABELS,NULL,NULLS,PASSWORD,RECORDING,RETURN-CODE,SERVICE,%
  410. SKIP1,SKIP2,SKIP3,SORT-CONTROL,SORT-RETURN,SUPPRESS,TITLE,%
  411. WHEN-COMPILED},%
  412. sensitive=false,% ???
  413. fixedcommentline=[6]{*},%
  414. stringizer=[d]{"}% ??? doubled
  415. }%
  416. % \end{macrocode}
  417. % \begin{macrocode}
  418. %</cobol>
  419. % \end{macrocode}
  420. % \endgroup
  421. %
  422. %
  423. % \subsection{Comal 80}
  424. %
  425. % The data is from
  426. % \begin{itemize}
  427. % \item
  428. % \textsc{Borge R. Christensen}:
  429. % \textbf{Strukturierte Programmierung mit COMAL 80} [aus dem
  430. % D\"anischen \"ubertragen und bearbeitet von Margarete Kragh];
  431. % 2., verb.\ Auflage -- M\"unchen; Wien: Oldenburg, 1985;
  432. % ISBN 3-486-26902-X.
  433. % \end{itemize}
  434. % \begingroup
  435. % \begin{macrocode}
  436. %<*comal>
  437. % \end{macrocode}
  438. % \begin{macrocode}
  439. \lstdefinedrvlanguage{Comal 80}%
  440. {keywords={AND,AUTO,CASE,DATA,DEL,DIM,DIV,DO,ELSE,ENDCASE,ENDIF,%
  441. ENDPROC,ENDWHILE,EOD,EXEC,FALSE,FOR,GOTO,IF,INPUT,INT,LIST,LOAD,%
  442. MOD,NEW,NEXT,NOT,OF,OR,PRINT,PROC,RANDOM,RENUM,REPEAT,RND,RUN,%
  443. SAVE,SELECT,STOP,TAB,THEN,TRUE,UNTIL,WHILE,ZONE},%
  444. sensitive=false,% ???
  445. commentline={//},%
  446. stringizer={"}%
  447. }%
  448. % \end{macrocode}
  449. % \begin{macrocode}
  450. %</comal>
  451. % \end{macrocode}
  452. % \endgroup
  453. %
  454. %
  455. % \subsection{C-Shell}
  456. %
  457. % This language is due to \lsthelper{Kai Below}{[email protected]}{1998/09/21}{csh}, but he pointed out that some keywords are probably missing.
  458. % \begingroup
  459. % \begin{macrocode}
  460. %<*csh>
  461. % \end{macrocode}
  462. % \begin{macrocode}
  463. %% (c) 1998 Kai Below
  464. \lstdefinelanguage{csh}
  465. {keywords={alias,awk,cat,echo,else,end,endif,endsw,exec,exit,%
  466. foreach,glob,goto,history,if,logout,nice,nohup,onintr,repeat,sed,%
  467. set,setenv,shift,source,switch,then,time,while,umask,unalias,%
  468. unset,wait,while,@,env,argv,child,home,ignoreeof,noclobber,%
  469. noglob,nomatch,path,prompt,shell,status,verbose,print,printf,%
  470. sqrt,BEGIN,END},%
  471. commentline={\#},%
  472. stringizer={"}%
  473. }
  474. % \end{macrocode}
  475. % \begin{macrocode}
  476. %</csh>
  477. % \end{macrocode}
  478. % \endgroup
  479. %
  480. %
  481. % \subsection{Delphi}
  482. %
  483. % I took the data from Delphi 1.0 (?) online help.
  484. % \begingroup
  485. % \begin{macrocode}
  486. %<*delphi>
  487. % \end{macrocode}
  488. % \begin{macrocode}
  489. \lstdefinelanguage{Delphi}%
  490. {keywords={and,as,asm,array,begin,case,class,const,constructor,%
  491. destructor,div,do,downto,else,end,except,exports,file,finally,%
  492. for,function,goto,if,implementation,in,inherited,inline,%
  493. initialization,interface,is,label,library,mod,nil,not,object,of,%
  494. or,packed,procedure,program,property,raise,record,repeat,set,%
  495. shl,shr,string,then,to,try,type,unit,until,uses,var,while,with,%
  496. xor,%
  497. absolute,abstract,assembler,at,cdecl,default,dynamic,export,%
  498. external,far,forward,index,name,near,nodefault,on,override,%
  499. private,protected,public,published,read,resident,storedDir,%
  500. virtual,write,%
  501. Abs,AddExitProc,Addr,AllocMem,AnsiCompareStr,AnsiCompareText,%
  502. AnsiLowerCase,AnsiUpperCase,Append,AppendStr,ArcTan,AssignCrt,%
  503. Assigned,AssignFile,BlockRead,BlockWrite,Break,ChangeFileExt,%
  504. ChDir,Chr,CloseFile,ClrEol,ClrScr,Concat,Continue,Copy,Cos,CSeg,%
  505. CursorTo,Date,DateTimeToFileDate,DateTimeToStr,DateTimeToString,%
  506. DateToStr,DayOfWeek,Dec,DecodeDate,DecodeTime,Delete,DeleteFile,%
  507. DiskFree,DiskSize,Dispose,DisposeStr,DoneWinCrt,DSeg,EncodeDate,%
  508. EncodeTime,Eof,Eoln,Erase,Exclude,Exit,Exp,ExpandFileName,%
  509. ExtractFileExt,ExtractFileName,ExtractFilePath,FileAge,FileClose,%
  510. FileDateToDateTime,FileExists,FileGetAttr,FileGetDate,FileOpen,%
  511. FilePos,FileRead,FileSearch,FileSeek,FileSetAttr,FileSetDate,%
  512. FileSize,FillChar,FindClose,FindFirst,FindNext,FloatToDecimal,%
  513. FloatToStrF,FloatToStr,FloatToText,FloatToTextFmt,Flush,%
  514. FmtLoadStr,FmtStr,Format,FormatBuf,FormatDateTime,FormatFloat,%
  515. Frac,Free,FreeMem,GetDir,GetMem,GotoXY,Halt,Hi,High,Inc,Include,%
  516. InitWinCrt,Insert,Int,IntToHex,IntToStr,IOResult,IsValidIdent,%
  517. KeyPressed,Length,Ln,Lo,LoadStr,Low,LowerCase,MaxAvail,MemAvail,%
  518. MkDir,Move,New,NewStr,Now,Odd,Ofs,Ord,ParamCount,ParamStr,Pi,Pos,%
  519. Pred,Ptr,Random,Randomize,Read,ReadBuf,ReadKey,Readln,ReAllocMem,%
  520. Rename,RenameFile,Reset,Rewrite,RmDir,Round,RunError,ScrollTo,%
  521. Seek,SeekEof,SeekEoln,Seg,SetTextBuf,Sin,SizeOf,SPtr,Sqr,Sqrt,%
  522. SSeg,Str,StrCat,StrComp,StrCopy,StrDispose,StrECopy,StrEnd,%
  523. StrFmt,StrLCat,StrIComp,StrLComp,StrLCopy,StrLen,StrLFmt,%
  524. StrLIComp,StrLower,StrMove,StrNew,StrPas,StrPCopy,StrPos,StrScan,%
  525. StrRScan,StrToDate,StrToDateTime,StrToFloat,StrToInt,StrToIntDef,%
  526. StrToTime,StrUpper,Succ,Swap,TextToFloat,Time,TimeToStr,%
  527. TrackCursor,Trunc,Truncate,TypeOf,UpCase,UpperCase,Val,WhereX,%
  528. WhereY,Write,WriteBuf,WriteChar,Writeln},%
  529. sensitive=false,%
  530. doublecomment={(*}{*)}{\{}{\}},%
  531. stringizer=[d]{'}%
  532. }%
  533. % \end{macrocode}
  534. % \begin{macrocode}
  535. %</delphi>
  536. % \end{macrocode}
  537. % \endgroup
  538. %
  539. %
  540. % \subsection{Eiffel}
  541. %
  542. % Data is from
  543. % \begin{itemize}
  544. % \item
  545. % \textsc{Bertrand Meyer}: \textbf{Eiffel: the language};
  546. % Prentice Hall International (UK) Ldt, 1992;
  547. % ISBN 0-13-247925-7.
  548. % \end{itemize}
  549. % \begingroup
  550. % \begin{macrocode}
  551. %<*eiffel>
  552. % \end{macrocode}
  553. % \begin{macrocode}
  554. \lstdefinelanguage{Eiffel}%
  555. {keywords={alias,all,and,as,BIT,BOOLEAN,CHARACTER,check,class,%
  556. creation,Current,debug,deferred,do,DOUBLE,else,elseif,end,%
  557. ensure,expanded,export,external,false,feature,from,frozen,if,%
  558. implies,indexing,infix,inherit,inspect,INTEGER,invariant,is,%
  559. like,local,loop,NONE,not,obsolete,old,once,or,POINTER,prefix,%
  560. REAL,redefine,rename,require,rescue,Result,retry,select,%
  561. separate,STRING,strip,then,true,undefine,unique,until,variant,%
  562. when,xor},%
  563. sensitive=true,%
  564. commentline={--},%
  565. stringizer={"},%
  566. stringtest=false%
  567. }%
  568. % \end{macrocode}
  569. % \begin{macrocode}
  570. %</eiffel>
  571. % \end{macrocode}
  572. % \endgroup
  573. %
  574. %
  575. % \subsection{Elan}
  576. %
  577. % The data come from
  578. % \begin{itemize}
  579. % \item
  580. % \textsc{Leo~H.~Klingen, Jochen Liedtke}:
  581. % \textbf{Programmieren mit ELAN};
  582. % B.G.\ Teubner, Stuttgart 1983; ISBN 3-519-02507-8.
  583. % \end{itemize}
  584. % \begingroup
  585. % \begin{macrocode}
  586. %<*elan>
  587. % \end{macrocode}
  588. % \begin{macrocode}
  589. \lstdefinedrvlanguage{Elan}%
  590. {keywords={ABS,AND,BOOL,CAND,CASE,CAT,COLUMNS,CONCR,CONJ,CONST,COR,%
  591. DECR,DEFINES,DET,DIV,DOWNTO,ELIF,ELSE,END,ENDIF,ENDOP,ENDPACKET,%
  592. ENDPROC,ENDREP,ENDSELECT,FALSE,FI,FILE,FOR,FROM,IF,INCR,INT,INV,%
  593. LEAVE,LENGTH,LET,MOD,NOT,OF,OP,OR,OTHERWISE,PACKET,PROC,REAL,REP,%
  594. REPEAT,ROW,ROWS,SELECT,SIGN,STRUCT,SUB,TEXT,THEN,TRANSP,TRUE,%
  595. TYPE,UNTIL,UPTO,VAR,WHILE,WITH,XOR,%
  596. maxint,sign,abs,min,max,random,initializerandom,subtext,code,%
  597. replace,text,laenge,pos,compress,change,maxreal,smallreal,floor,%
  598. pi,e,ln,log2,log10,sqrt,exp,tan,tand,sin,sind,cos,cosd,arctan,%
  599. arctand,int,real,lastconversionok,put,putline,line,page,get,%
  600. getline,input,output,sequentialfile,maxlinelaenge,reset,eof,%
  601. close,complexzero,complexone,complexi,complex,realpart,imagpart,%
  602. dphi,phi,vector,norm,replace,matrix,idn,row,column,sub,%
  603. replacerow,replacecolumn,replaceelement,transp,errorsstop,stop},%
  604. sensitive=true,%
  605. stringizer=[d]{"}%
  606. }%
  607. % \end{macrocode}
  608. % \begin{macrocode}
  609. %</elan>
  610. % \end{macrocode}
  611. % \endgroup
  612. %
  613. %
  614. % \subsection{Euphoria}
  615. %
  616. % \lsthelper{Detlef Reimers}{[email protected]}{1998/08/30}{Euphoria} sent me the language definition.
  617. % I've done the conversion to listings 0.19.
  618. % \begingroup
  619. % \begin{macrocode}
  620. %<*euphoria>
  621. % \end{macrocode}
  622. % \begin{macrocode}
  623. %% (c) 1998 Detlef Reimers
  624. \lstdefinelanguage{Euphoria}%
  625. % for Euphoria 2.0, Rapid Deployment Software, Kanada
  626. {keywords={abort,and,and_bits,append,arctan,atom,by,call,call_proc,%
  627. call_func,c_proc,c_func,clear_screen,close,command_line,compare,%
  628. constant,cos,do,date,else,elsif,end,exit,find,floor,for,function,%
  629. getc,getenv,get_key,gets,global,get_pixel,if,include,integer,%
  630. length,log,match,machine_func,machine_proc,mem_copy,mem_set,not,%
  631. not_bits,or,object,open,or_bits,procedure,puts,position,prepend,%
  632. print,printf,power,peek,poke,pixel,poke4,peek4s,peek4u,return,%
  633. rand,repeat,remainder,routine_id,sequence,sqrt,sin,system,%
  634. sprintf,then,type,to,time,trace,tan,while,with,without,xor,%
  635. xor_bits},%
  636. sensitive=true,%
  637. commentline={--},%
  638. stringizer=[d]{'"}%
  639. }%
  640. % \end{macrocode}
  641. % \begin{macrocode}
  642. %</euphoria>
  643. % \end{macrocode}
  644. % \endgroup
  645. %
  646. %
  647. % \subsection{Fortran}
  648. %
  649. % Took things from
  650. % \begin{itemize}
  651. % \item
  652. % \textsc{Karl Hans M\"uller}:
  653. % \textbf{Fortran 77: Programmierungsanleitung};
  654. % 3., v\"ollig neu bearb.\ Aufl.\ -- Mannheim; Wien; Z\"urich:
  655. % Bibliographisches Institut, 1984;
  656. % ISBN 3-411-05804-8
  657. % \item
  658. % \textsc{Thomas Michel}: \textbf{Fortran 90: Lehr-- und Handbuch};
  659. % Mannheim; Leipzig; Wien; Z\"urich: BI-Wiss.-Verlag, 1994;
  660. % ISBN 3-411-16861-7.
  661. % \end{itemize}
  662. % \begingroup
  663. % \begin{macrocode}
  664. %<*fortran>
  665. % \end{macrocode}
  666. % The common Fortran 90 and 77 'keywords':
  667. % \begin{macrocode}
  668. \lststorekeywords\lstkeys@fortran{ACCESS,ASSIGN,BACKSPACE,BLANK,%
  669. BLOCK,CALL,CHARACTER,CLOSE,COMMON,COMPLEX,CONTINUE,DATA,DIMENSION,%
  670. DIRECT,DO,DOUBLE,ELSE,END,ENTRY,EOF,EQUIVALENCE,ERR,EXIST,EXTERNAL,%
  671. FILE,FMT,FORM,FORMAT,FORMATTED,FUNCTION,GO,TO,IF,IMPLICIT,INQUIRE,%
  672. INTEGER,INTRINSIC,IOSTAT,LOGICAL,NAMED,NEXTREC,NUMBER,OPEN,OPENED,%
  673. PARAMETER,PAUSE,PRECISION,PRINT,PROGRAM,READ,REAL,REC,RECL,%
  674. RETURN,REWIND,SEQUENTIAL,STATUS,STOP,SUBROUTINE,THEN,TYPE,%
  675. UNFORMATTED,UNIT,WRITE}%
  676. % \end{macrocode}
  677. % As proposed by \lsthelper{J\"orn Wilms}{[email protected]}{1997/07/07}{Fortran with \lstsensitivefalse} keywords are \emph{not} case sensitive.
  678. % There is no \cs{lstfixedcommentline} in Fortran 90 since otherwise CONTAINS could start a comment.
  679. % This problem was reported by \lsthelper{Magne Rudshaug}{[email protected]}{1998/01/09}{no fixedcommentline= in Fortran 90}.
  680. % Moreover the keyword INCLUDE is due to him.
  681. % \begin{macrocode}
  682. \lstdefinedrvlanguage[95]{Fortran}%
  683. {keywords={\lstkeys@fortran,ACTION,ADVANCE,ALLOCATE,ALLOCATABLE,%
  684. ASSIGNMENT,CASE,CONTAINS,CYCLE,DEALLOCATE,DEFAULT,DELIM,EXIT,%
  685. INCLUDE,IN,NONE,IN,OUT,INTENT,INTERFACE,IOLENGTH,KIND,LEN,MODULE,%
  686. NAME,NAMELIST,NMT,NULLIFY,ONLY,OPERATOR,OPTIONAL,OUT,PAD,POINTER,%
  687. POSITION,PRIVATE,PUBLIC,READWRITE,RECURSIVE,RESULT,SELECT,%
  688. SEQUENCE,SIZE,STAT,TARGET,USE,WHERE,WHILE,BLOCKDATA,%
  689. DOUBLEPRECISION,ELSEIF,ENDBLOCKDATA,ENDDO,ENDFILE,ENDFUNCTION,%
  690. ENDIF,ENDINTERFACE,ENDMODULE,ENDPROGRAM,ENDSELECT,ENDSUBROUTINE,%
  691. ENDTYPE,ENDWHERE,GOTO,INOUT,SELECTCASE},%
  692. sensitive=false,%% not Fortran standard %% 1997 J\"orn Wilms
  693. commentline={!},% no fixed comment line: 1998 Magne Rudshaug
  694. stringizer={"}%
  695. }%
  696. % \end{macrocode}
  697. % \lsthelper{Denis Girou}{[email protected]}{1998/07/26}{Fortran 95=90} proposed to have Fortran 95 and Fortran 90 to be equivalent.
  698. % \begin{macrocode}
  699. \lstdefinedrvlanguage[90]{Fortran}{language=[95]Fortran}
  700. % \end{macrocode}
  701. % \begin{macrocode}
  702. \lstdefinedrvlanguage[77]{Fortran}%
  703. {keywords={\lstkeys@fortran,SAVE},%
  704. sensitive=false,%% not Fortran standard %%
  705. fixedcommentline={*Cc},%
  706. stringizer={"}%
  707. }%
  708. % \end{macrocode}
  709. % \begin{macrocode}
  710. %</fortran>
  711. % \end{macrocode}
  712. % \endgroup
  713. %
  714. %
  715. % \subsection{IDL}
  716. %
  717. % The definition is due to \lsthelper{J\"urgen Heim}{[email protected]}{1998/07/27}{IDL}.
  718. % I've done the conversion to version 0.19.
  719. % \begingroup
  720. % \begin{macrocode}
  721. %<*idl>
  722. % \end{macrocode}
  723. % \begin{macrocode}
  724. %% (c) 1998 Juergen Heim
  725. \lstdefinelanguage{IDL}%
  726. {keywords={and,begin,case,common,do,else,end,endcase,endelse,%
  727. endfor,endif,endrep,endwhile,eq,for,function,ge,goto,gt,if,le,lt,%
  728. mod,ne,not,of,on_ioerror,or,pro,repeat,return,then,until,while,%
  729. xor,on_error,openw,openr,openu,print,printf,printu,plot,read,%
  730. readf,readu,writeu,stop},%
  731. sensitive=false,%
  732. commentline={;},%
  733. stringizer=[d]{'}%
  734. }%
  735. % \end{macrocode}
  736. % \begin{macrocode}
  737. %</idl>
  738. % \end{macrocode}
  739. % \endgroup
  740. %
  741. %
  742. % \subsection{HTML}
  743. %
  744. % I'm quite the opposite of a HTML wizard.
  745. % In particular this is true for the defined keywords.
  746. % \begingroup
  747. % \begin{macrocode}
  748. %<*html>
  749. % \end{macrocode}
  750. % \begin{macrocode}
  751. \lstdefinelanguage{HTML}%
  752. {keywords={A,ADDRESS,APPLET,B,BASE,BASEFONT,BIG,BLOCKQUOTE,BODY,BR,%
  753. CENTER,CITE,CODE,DFN,DIR,DIV,DOCTYPE,EM,FONT,FORM,HEAD,HR,%
  754. H1,H2,H3,H4,H5,H6,HTML,I,IMG,INPUT,ISINDEX,KBD,LI,LINK,LISTING,%
  755. MAP,META,MENU,P,PLAINTEXT,PRE,OL,SAMP,SCRIPT,SELECT,SMALL,STRIKE,%
  756. STRING,SUB,SUP,STYLE,TABLE,TEXTAREA,TITLE,TT,U,UL,VAR,XMP,%
  757. action,align,alink,alt,background,bgcolor,border,cellpadding,%
  758. cellspacing,checked,code,codebase,color,cols,colspan,entype,%
  759. height,href,hspace,ismap,link,maxlength,method,multiple,name,%
  760. noshade,nowrap,rel,rev,rows,rowspan,selected,shape,size,src,text,%
  761. title,type,usemap,valign,value,vlink,vspace,width},%
  762. sensitive=false,%
  763. stringizer={"}% ??? doubled
  764. }%
  765. % \end{macrocode}
  766. % \endgroup
  767. %
  768. % \begin{macro}{\lstPre@html}
  769. % We don't detect keywords all over a HTML document: we 'undefine' them first.
  770. % \begin{macrocode}
  771. \gdef\lstPre@html{%
  772. \let\lstkeys@html\lst@keywords %
  773. \let\lst@keywords\@empty}
  774. % \end{macrocode}
  775. % \end{macro}
  776. %
  777. % \begin{macro}{\lst@HTMLmode}
  778. % They will be active (exactly) in HTML mode.
  779. % \begin{macrocode}
  780. \lst@NewMode\lst@HTMLmode %
  781. % \end{macrocode}
  782. % \end{macro}
  783. %
  784. % \begin{macro}{\lstSCT@html}
  785. % Coming to the delimiter |<|, we define the keywords again and execute the old meaning of |<|.
  786. % \begin{macrocode}
  787. \gdef\lstSCT@html{%
  788. \lccode`\~=`\<\lowercase{\let\lsts@HTMLb~}%
  789. \lstCC@Def{`\<}{%
  790. \lst@ifmode\else %
  791. \lst@EnterMode{\lst@HTMLmode}%
  792. {\let\lst@keywords\lstkeys@html}%
  793. \fi %
  794. \lsts@HTMLb}
  795. % \end{macrocode}
  796. % |>| undefines the keywords again (since we leave HTML mode including an |\egroup|).
  797. % \begin{macrocode}
  798. \lccode`\~=`\>\lowercase{\let\lsts@HTMLe~}%
  799. \lstCC@Def{`\>}{%
  800. \ifnum\lst@mode=\lst@HTMLmode %
  801. \lsts@HTMLe \lst@PrintToken \lst@LeaveMode %
  802. \else %
  803. \expandafter\lsts@HTMLe %
  804. \fi}%
  805. % \end{macrocode}
  806. % \begin{TODO}
  807. % You shouldn't think that here's anything to do.
  808. % The definition shouldn't be changed to\vspace*{-\baselineskip}
  809. % \begin{verbatim}
  810. %\lstCC@Def{`\>}{%
  811. % \lsts@HTMLe %
  812. % \ifnum\lst@mode=\lst@HTMLmode %
  813. % \lst@PrintToken \lst@LeaveMode %
  814. % \fi}%\end{verbatim}
  815. % If |\lst@HTMLe| (= old |>|) gets any arguments, it's really not the same.
  816. % However, this is not true for HTML (I think), but in some time someone might need arguments \ldots
  817. % \end{TODO}
  818. % Now we take care of comments.
  819. % The minus is redefined to look ahead for another minus, but we enter comment mode only if we are in HTML mode.
  820. % \begin{macrocode}
  821. \lccode`\~=`\-\lowercase{\let\lsts@HTMLc~}%
  822. \lstCC@Def{`\-}##1{%
  823. \let\lstCC@bnext\relax %
  824. \ifnum\lst@mode=\lst@HTMLmode \ifnum`##1=`\-%
  825. \def\lstCC@bnext{\lstCC@@BeginComment\lst@SCmode}%
  826. \fi \fi %
  827. \lstCC@bnext \lsts@HTMLc ##1}%
  828. % \end{macrocode}
  829. % Finally we define |--| to end the comment.
  830. % \begin{macrocode}
  831. \lstCC@TestCArg--\@empty\relax\lstCC@CommentE{SC}\lst@SCmode}
  832. % \end{macrocode}
  833. % \end{macro}
  834. % \begingroup
  835. % \begin{macrocode}
  836. %</html>
  837. % \end{macrocode}
  838. % \endgroup
  839. %
  840. %
  841. % \subsection{Java}
  842. %
  843. % Got data from \texttt{http://java.sun.com}.
  844. % \begingroup
  845. % \begin{macrocode}
  846. %<*java>
  847. % \end{macrocode}
  848. % \begin{macrocode}
  849. \lstdefinelanguage{Java}%
  850. {keywords={abstract,boolean,break,byte,case,catch,char,class,const,%
  851. continue,default,do,double,else,extends,final,finally,float,for,%
  852. goto,if,implements,import,instanceof,int,interface,long,native,%
  853. new,null,package,private,protected,public,return,short,static,%
  854. super,switch,synchronized,this,throw,throws,transient,try,void,%
  855. volatile,while,true,false},%
  856. sensitive=true,%
  857. commentline={//},%
  858. singlecomment={/*}{*/},%
  859. stringizer=[b]{"}% ??? backslashed
  860. }%
  861. % \end{macrocode}
  862. % \begin{macrocode}
  863. %</java>
  864. % \end{macrocode}
  865. % \endgroup
  866. %
  867. %
  868. % \subsection{Lisp}
  869. %
  870. % Most data are from
  871. % \begin{itemize}
  872. % \item
  873. % \textsc{Guy Steele}:
  874. % \textbf{Common Lisp};
  875. % Copyright 1990 by Digital Equipment Corporation;
  876. % ISBN 1-55558-042-4.
  877. % \end{itemize}
  878. % Thanks to \lsthelper{Aslak Raanes}{[email protected]}{1997/11/24}{single comment in Lisp} for the single comment.
  879. % The keywords are the 'one-word' functions and macros of Common Lisp, i.e.\ words not containing a minus.
  880. % But I left out the \texttt{caaaar}, \ldots{} functions.
  881. % If anyone types them in, I'd like to get them.
  882. % \begingroup
  883. % \begin{macrocode}
  884. %<*lisp>
  885. % \end{macrocode}
  886. % \begin{macrocode}
  887. \lstdefinelanguage{Lisp}%
  888. {keywords={abort,abs,acons,acos,acosh,adjoin,alphanumericp,alter,%
  889. append,apply,apropos,aref,arrayp,ash,asin,asinh,assoc,atan,atanh,%
  890. atom,bit,boole,boundp,break,butlast,byte,catenate,ceiling,cerror,%
  891. char,character,characterp,choose,chunk,cis,close,clrhash,coerce,%
  892. collect,commonp,compile,complement,complex,complexp,concatenate,%
  893. conjugate,cons,consp,constantp,continue,cos,cosh,cotruncate,%
  894. count,delete,denominator,describe,directory,disassemble,%
  895. documentation,dpb,dribble,ed,eighth,elt,enclose,endp,eq,eql,%
  896. equal,equalp,error,eval,evalhook,evenp,every,exp,expand,export,%
  897. expt,fboundp,fceiling,fdefinition,ffloor,fifth,fill,find,first,%
  898. float,floatp,floor,fmakunbound,format,fourth,fround,ftruncate,%
  899. funcall,functionp,gatherer,gcd,generator,gensym,gentemp,get,getf,%
  900. gethash,identity,imagpart,import,inspect,integerp,intern,%
  901. intersection,tively,isqrt,keywordp,last,latch,lcm,ldb,ldiff,%
  902. length,list,listen,listp,load,log,logand,logbitp,logcount,logeqv,%
  903. logior,lognand,lognor,lognot,logtest,logxor,macroexpand,%
  904. makunbound,map,mapc,mapcan,mapcar,mapcon,maphash,mapl,maplist,%
  905. mask,max,member,merge,min,mingle,minusp,mismatch,mod,namestring,%
  906. nbutlast,nconc,nintersection,ninth,not,notany,notevery,nreconc,%
  907. nreverse,nsublis,nsubst,nth,nthcdr,null,numberp,numerator,nunion,%
  908. oddp,open,packagep,pairlis,pathname,pathnamep,phase,plusp,%
  909. position,positions,pprint,previous,princ,print,proclaim,provide,%
  910. random,rassoc,rational,rationalize,rationalp,read,readtablep,%
  911. realp,realpart,reduce,rem,remhash,remove,remprop,replace,require,%
  912. rest,revappend,reverse,room,round,rplaca,rplacd,sbit,scan,schar,%
  913. search,second,series,set,seventh,shadow,signal,signum,sin,sinh,%
  914. sixth,sleep,some,sort,split,sqrt,streamp,string,stringp,sublis,%
  915. subseq,subseries,subsetp,subst,substitute,subtypep,svref,sxhash,%
  916. symbolp,tailp,tan,tanh,tenth,terpri,third,truename,truncate,%
  917. typep,unexport,unintern,union,until,values,vector,vectorp,warn,%
  918. write,zerop,and,assert,case,ccase,cond,ctypecase,decf,declaim,%
  919. defclass,defconstant,defgeneric,defmacro,defmethod,defpackage,%
  920. defparameter,defsetf,defstruct,deftype,defun,defvar,do,dolist,%
  921. dotimes,ecase,encapsulated,etypecase,flet,formatter,gathering,%
  922. incf,iterate,labels,let,locally,loop,macrolet,mapping,or,pop,%
  923. producing,prog,psetf,psetq,push,pushnew,remf,return,rotatef,%
  924. setf,shiftf,step,time,trace,typecase,unless,untrace,when},%
  925. sensitive=true,% ???
  926. alsodigit={-},%
  927. commentline={;},%
  928. singlecomment={\#|}{|\#},% 1997 Aslak Raanes
  929. stringizer=[b]{"}%
  930. }%
  931. % \end{macrocode}
  932. % \begin{macrocode}
  933. %</lisp>
  934. % \end{macrocode}
  935. % \endgroup
  936. %
  937. %
  938. % \subsection{Logo}
  939. %
  940. % I don't know where the keywords are from and what kind of Logo it is.
  941. % Help me!
  942. % \begingroup
  943. % \begin{macrocode}
  944. %<*logo>
  945. % \end{macrocode}
  946. % \begin{macrocode}
  947. \lstdefinedrvlanguage{Logo}%
  948. % ??? {end,unix} also keywords
  949. {keywords={and,atan,arctan,both,break,bf,bl,butfirst,butlast,%
  950. cbreak, close,co,continue,cos,count,clearscreen,cs,debquit,%
  951. describe,diff,difference,ed,edit,either,emptyp,equalp,er,erase,%
  952. errpause,errquit,fifp,filefprint,fifty,fileftype,fip,fileprint,%
  953. fird,fileread,fity,filetype,fiwd,fileword,f,first,or,fp,fprint,%
  954. fput,fty,ftype,full,fullscreen,go,bye,goodbye,gprop,greaterp,%
  955. help,if,iff,iffalse,ift,iftrue,nth,item,keyp,llast,lessp,list,%
  956. local,lput,make,max,maximum,memberp,memtrace,min,minimum,namep,%
  957. not,numberp,oflush,openr,openread,openw,openwrite,op,output,%
  958. pause,plist,pots,pow,pprop,pps,pr,print,product,quotient,random,%
  959. rc,readchar,rl,readlist,remprop,repcount,repeat,request,rnd,run,%
  960. se,sentence,sentencep,setc,setcolor,setipause,setqpause,po,show,%
  961. sin,split,splitscreen,sqrt,stop,sum,test,text,textscreen,thing,%
  962. to,tone,top,toplevel,type,untrace,wait,word,wordp,yaccdebug,is,%
  963. mod,remainder,trace,zerop,back,bk,bto,btouch,fd,forward,fto,%
  964. ftouch,getpen,heading,hit,hitoot,ht,hideturtle,loff,lampoff,lon,%
  965. lampon,lt,left,lot,lotoot,lto,ltouch,penc,pencolor,pd,pendown,pe,%
  966. penerase,penmode,pu,penup,px,penreverse,rt,right,rto,rtouch,%
  967. scrunch,seth,setheading,setscrun,setscrunch,setxy,shownp,st,%
  968. showturtle,towardsxy,clean,wipeclean,xcor,ycor,tur,turtle,%
  969. display,dpy},%
  970. sensitive=false% ???
  971. }%
  972. % \end{macrocode}
  973. % \begin{macrocode}
  974. %</logo>
  975. % \end{macrocode}
  976. % \endgroup
  977. %
  978. %
  979. % \subsection{Matlab}
  980. %
  981. % I took the keywords from \texttt{http://www.utexas.edu/math/Matlab/Manual} , but I removed the keywords |i|, |j| and |tmp| --- the change was proposed by \lsthelper{Kai Below}{[email protected]}{1998/09/21}{Matlab: keywords i,j,tmp removed}.
  982. % \begingroup
  983. % \begin{macrocode}
  984. %<*matlab>
  985. % \end{macrocode}
  986. % \begin{macrocode}
  987. \lstdefinelanguage{matlab}%
  988. {keywords={gt,lt,gt,lt,amp,abs,acos,acosh,acot,acoth,acsc,acsch,%
  989. all,angle,ans,any,asec,asech,asin,asinh,atan,atan2,atanh,auread,%
  990. auwrite,axes,axis,balance,bar,bessel,besselk,bessely,beta,%
  991. betainc,betaln,blanks,bone,break,brighten,capture,cart2pol,%
  992. cart2sph,caxis,cd,cdf2rdf,cedit,ceil,chol,cla,clabel,clc,clear,%
  993. clf,clock,close,colmmd,Colon,colorbar,colormap,ColorSpec,colperm,%
  994. comet,comet3,compan,compass,computer,cond,condest,conj,contour,%
  995. contour3,contourc,contrast,conv,conv2,cool,copper,corrcoef,cos,%
  996. cosh,cot,coth,cov,cplxpair,cputime,cross,csc,csch,csvread,%
  997. csvwrite,cumprod,cumsum,cylinder,date,dbclear,dbcont,dbdown,%
  998. dbquit,dbstack,dbstatus,dbstep,dbstop,dbtype,dbup,ddeadv,ddeexec,%
  999. ddeinit,ddepoke,ddereq,ddeterm,ddeunadv,deblank,dec2hex,deconv,%
  1000. del2,delete,demo,det,diag,diary,diff,diffuse,dir,disp,dlmread,%
  1001. dlmwrite,dmperm,dot,drawnow,echo,eig,ellipj,ellipke,else,elseif,%
  1002. end,engClose,engEvalString,engGetFull,engGetMatrix,engOpen,%
  1003. engOutputBuffer,engPutFull,engPutMatrix,engSetEvalCallback,%
  1004. engSetEvalTimeout,engWinInit,eps,erf,erfc,erfcx,erfinv,error,%
  1005. errorbar,etime,etree,eval,exist,exp,expint,expm,expo,eye,fclose,%
  1006. feather,feof,ferror,feval,fft,fft2,fftshift,fgetl,fgets,figure,%
  1007. fill,fill3,filter,filter2,find,findstr,finite,fix,flag,fliplr,%
  1008. flipud,floor,flops,fmin,fmins,fopen,for,format,fplot,fprintf,%
  1009. fread,frewind,fscanf,fseek,ftell,full,function,funm,fwrite,fzero,%
  1010. gallery,gamma,gammainc,gammaln,gca,gcd,gcf,gco,get,getenv,%
  1011. getframe,ginput,global,gplot,gradient,gray,graymon,grid,griddata,%
  1012. gtext,hadamard,hankel,help,hess,hex2dec,hex2num,hidden,hilb,hist,%
  1013. hold,home,hostid,hot,hsv,hsv2rgb,if,ifft,ifft2,imag,image,%
  1014. imagesc,Inf,info,input,int2str,interp1,interp2,interpft,inv,%
  1015. invhilb,isempty,isglobal,ishold,isieee,isinf,isletter,isnan,%
  1016. isreal,isspace,issparse,isstr,jet,keyboard,kron,lasterr,lcm,%
  1017. legend,legendre,length,lin2mu,line,linspace,load,log,log10,log2,%
  1018. loglog,logm,logspace,lookfor,lower,ls,lscov,lu,magic,matClose,%
  1019. matDeleteMatrix,matGetDir,matGetFp,matGetFull,matGetMatrix,%
  1020. matGetNextMatrix,matGetString,matlabrc,matlabroot,matOpen,%
  1021. matPutFull,matPutMatrix,matPutString,max,mean,median,menu,mesh,%
  1022. meshc,meshgrid,meshz,mexAtExit,mexCallMATLAB,mexdebug,%
  1023. mexErrMsgTxt,mexEvalString,mexFunction,mexGetFull,mexGetMatrix,%
  1024. mexGetMatrixPtr,mexPrintf,mexPutFull,mexPutMatrix,mexSetTrapFlag,%
  1025. min,more,movie,moviein,mu2lin,mxCalloc,mxCopyCharacterToPtr,%
  1026. mxCopyComplex16ToPtr,mxCopyInteger4ToPtr,mxCopyPtrToCharacter,%
  1027. mxCopyPtrToComplex16,mxCopyPtrToInteger4,mxCopyPtrToReal8,%
  1028. mxCopyReal8ToPtr,mxCreateFull,mxCreateSparse,mxCreateString,%
  1029. mxFree,mxFreeMatrix,mxGetIr,mxGetJc,mxGetM,mxGetN,mxGetName,%
  1030. mxGetNzmax,mxGetPi,mxGetPr,mxGetScalar,mxGetString,mxIsComplex,%
  1031. mxIsFull,mxIsNumeric,mxIsSparse,mxIsString,mxIsTypeDouble,%
  1032. mxSetIr,mxSetJc,mxSetM,mxSetN,mxSetName,mxSetNzmax,mxSetPi,%
  1033. mxSetPr,NaN,nargchk,nargin,nargout,newplot,nextpow2,nnls,nnz,%
  1034. nonzeros,norm,normest,null,num2str,nzmax,ode23,ode45,orient,orth,%
  1035. pack,pascal,patch,path,pause,pcolor,pi,pink,pinv,plot,plot3,%
  1036. pol2cart,polar,poly,polyder,polyeig,polyfit,polyval,polyvalm,%
  1037. pow2,print,printopt,prism,prod,pwd,qr,qrdelete,qrinsert,quad,%
  1038. quad8,quit,quiver,qz,rand,randn,randperm,rank,rat,rats,rbbox,%
  1039. rcond,real,realmax,realmin,refresh,rem,reset,reshape,residue,%
  1040. return,rgb2hsv,rgbplot,rootobject,roots,rose,rosser,rot90,rotate,%
  1041. round,rref,rrefmovie,rsf2csf,save,saxis,schur,sec,sech,semilogx,%
  1042. semilogy,set,setstr,shading,sign,sin,sinh,size,slice,sort,sound,%
  1043. spalloc,sparse,spaugment,spconvert,spdiags,specular,speye,spfun,%
  1044. sph2cart,sphere,spinmap,spline,spones,spparms,sprandn,sprandsym,%
  1045. sprank,sprintf,spy,sqrt,sqrtm,sscanf,stairs,startup,std,stem,%
  1046. str2mat,str2num,strcmp,strings,strrep,strtok,subplot,subscribe,%
  1047. subspace,sum,surf,surface,surfc,surfl,surfnorm,svd,symbfact,%
  1048. symmmd,symrcm,tan,tanh,tempdir,tempname,terminal,text,tic,title,%
  1049. toc,toeplitz,trace,trapz,tril,triu,type,uicontrol,uigetfile,%
  1050. uimenu,uiputfile,unix,unwrap,upper,vander,ver,version,view,%
  1051. viewmtx,waitforbuttonpress,waterfall,wavread,wavwrite,what,%
  1052. whatsnew,which,while,white,whitebg,who,whos,wilkinson,wk1read,%
  1053. wk1write,xlabel,xor,ylabel,zeros,zlabel,zoom},%
  1054. sensitive=true,%
  1055. commentline={\%},%
  1056. stringizer=[m]{'}%
  1057. }%
  1058. % \end{macrocode}
  1059. % \begin{macrocode}
  1060. %</matlab>
  1061. % \end{macrocode}
  1062. % \endgroup
  1063. %
  1064. %
  1065. % \subsection{Mercury}
  1066. %
  1067. % \lsthelper{Dominique de Waleffe}{[email protected]}{1997/11/24}{Mercury} mailed me these data.
  1068. % \begingroup
  1069. % \begin{macrocode}
  1070. %<*mercury>
  1071. % \end{macrocode}
  1072. % \begin{macrocode}
  1073. %% (c) 1997 Dominique de Waleffe
  1074. \lstdefinelanguage{Mercury}%
  1075. % ??? add :: -> --> ---> :- as keywords
  1076. {keywords={pred,type,module,end_module,import_module,mode,%
  1077. pragma,func,lambda,det,semidet,erroneous,multi,true,fail,is,in,%
  1078. out,di,uo,ui,interface,implementation},%
  1079. sensitive=false,%
  1080. commentline={\%},%
  1081. singlecomment={/*}{*/},%
  1082. stringizer=[bd]{"'}%
  1083. }%
  1084. % \end{macrocode}
  1085. % \begin{macrocode}
  1086. %</mercury>
  1087. % \end{macrocode}
  1088. % \endgroup
  1089. %
  1090. %
  1091. % \subsection{Modula-2}
  1092. %
  1093. % Took data from
  1094. % \begin{itemize}
  1095. % \item
  1096. % \textsc{Niklaus Wirth}: \textbf{Programmieren in Modula-2},
  1097. % \"Ubers.\ Guido Pfeiffer;
  1098. % 2.\ Auflage -- Berlin; Heidelberg; New York; London; Paris; Tokyo;
  1099. % Hong Kong: Springer, 1991;
  1100. % ISBN 3-540-51689-1.
  1101. % \end{itemize}
  1102. % \begingroup
  1103. % \begin{macrocode}
  1104. %<*modula>
  1105. % \end{macrocode}
  1106. % \begin{macrocode}
  1107. \lstdefinelanguage{Modula-2}%
  1108. {keywords={AND,ARRAY,BEGIN,BY,CASE,CONST,DIV,DO,ELSE,ELSIF,END,EXIT,%
  1109. EXPORT,FOR,FROM,IF,IMPLEMENTATION,IMPORT,IN,MOD,MODULE,NOT,OF,%
  1110. OR,POINTER,PROCEDURE,QUALIFIED,RECORD,REPEAT,RETURN,SET,THEN,%
  1111. TYPE,UNTIL,VAR,WHILE,WITH,ABS,BITSET,BOOLEAN,CAP,CARDINAL,CHAR,%
  1112. CHR,DEC,EXCL,FALSE,FLOAT,HALT,HIGH,INC,INCL,INTEGER,LONGCARD,%
  1113. LONGINT,LONGREAL,MAX,MIN,NIL,ODD,ORD,PROC,REAL,SIZE,TRUE,TRUNC,%
  1114. VAL},%
  1115. sensitive=true,%
  1116. nestedcomment={(*}{*)},%
  1117. stringizer=[d]{'"}%
  1118. }%
  1119. % \end{macrocode}
  1120. % \begin{macrocode}
  1121. %</modula>
  1122. % \end{macrocode}
  1123. %
  1124. %
  1125. % \subsection{Oberon-2}
  1126. %
  1127. % \begingroup
  1128. % \begin{macrocode}
  1129. %<*oberon>
  1130. % \end{macrocode}
  1131. % \begin{macrocode}
  1132. \lstdefinelanguage{Oberon-2}%
  1133. {keywords={ARRAY,BEGIN,BOOLEAN,BY,CASE,CHAR,CONST,DIV,DO,ELSE,%
  1134. ELSIF,END,EXIT,FALSE,FOR,IF,IMPORT,IN,INTEGER,IS,LONGINT,%
  1135. LONGREAL,LOOP,MOD,MODULE,NIL,OF,OR,POINTER,PROCEDURE,REAL,RECORD,%
  1136. REPEAT,RETURN,SET,SHORTINT,THEN,TO,TRUE,TYPE,UNTIL,VAR,WHILE,%
  1137. WITH,ABS,ASH,CAP,CHR,COPY,DEC,ENTIER,EXCL,HALT,INC,INCL,LEN,LONG,%
  1138. MAX,MIN,NEW,ODD,ORD,SHORT,SIZE},%
  1139. sensitive=true,%
  1140. nestedcomment={(*}{*)},%
  1141. stringizer=[d]{'"}%
  1142. }%
  1143. % \end{macrocode}
  1144. % \begin{macrocode}
  1145. %</oberon>
  1146. % \end{macrocode}
  1147. % \endgroup
  1148. %
  1149. %
  1150. % \subsection{Pascal}
  1151. %
  1152. % \begingroup
  1153. % \begin{macrocode}
  1154. %<*pascal>
  1155. % \end{macrocode}
  1156. % \begin{macrocode}
  1157. \lstdefinelanguage[Standard]{Pascal}%
  1158. {keywords={alfa,and,array,begin,boolean,byte,case,char,const,div,do,%
  1159. downto,else,end,false,file,for,function,get,goto,if,in,integer,%
  1160. label,maxint,mod,new,not,of,or,pack,packed,page,program,put,%
  1161. procedure,read,readln,real,record,repeat,reset,rewrite,set,text,%
  1162. then,to,true,type,unpack,until,var,while,with,write,writeln},%
  1163. sensitive=false,%
  1164. doublecomment={(*}{*)}{\{}{\}},%
  1165. stringizer=[d]{'}%
  1166. }%
  1167. % \end{macrocode}
  1168. % Thanks to \lsthelper{Andreas Stephan}{[email protected]}{1998/04/07}{alpha, byte, pack, unpack} for reporting non-keywords alpha, byte, pack and unpack.
  1169. % \begin{macrocode}
  1170. \lstdefinedrvlanguage[XSC]{Pascal}%
  1171. {language=[Standard]Pascal,%
  1172. deletekeywords={alfa,byte,pack,unpack},% 1998 Andreas Stephan
  1173. morekeywords={dynamic,external,forward,global,module,nil,operator,%
  1174. priority,sum,type,use,dispose,mark,page,release,cimatrix,%
  1175. cinterval,civector,cmatrix,complex,cvector,dotprecision,imatrix,%
  1176. interval,ivector,rmatrix,rvector,string,im,inf,re,sup,chr,comp,%
  1177. eof,eoln,expo,image,ival,lb,lbound,length,loc,mant,maxlength,odd,%
  1178. ord,pos,pred,round,rval,sign,substring,succ,trunc,ub,ubound}%
  1179. }%
  1180. % \end{macrocode}
  1181. %
  1182. % \begin{macrocode}
  1183. \lstdefinedrvlanguage[Borland6]{Pascal}%
  1184. {language=[Standard]Pascal,%
  1185. morekeywords={asm,constructor,destructor,implementation,inline,%
  1186. interface,nil,object,shl,shr,string,unit,uses,xor,%
  1187. Abs,Addr,ArcTan,Chr,Concat,Copy,Cos,CSeg,DiskFree,DiskSize,%
  1188. DosExitCode,DosVersion,DSeg,EnvCount,EnvStr,Eof,Eoln,Exp,%
  1189. FExpand,FilePos,FileSize,Frac,FSearch,GetBkColor,GetColor,%
  1190. GetDefaultPalette,GetDriverName,GetEnv,GetGraphMode,GetMaxMode,%
  1191. GetMaxX,GetMaxY,GetModeName,GetPaletteSize,GetPixel,GetX,GetY,%
  1192. GraphErrorMsg,GraphResult,Hi,ImageSize,InstallUserDriver,%
  1193. InstallUserFont,Int,IOResult,KeyPressed,Length,Lo,MaxAvail,%
  1194. MemAvail,MsDos,Odd,Ofs,Ord,OvrGetBuf,OvrGetRetry,ParamCount,%
  1195. ParamStr,Pi,Pos,Pred,Ptr,Random,ReadKey,Round,SeekEof,SeekEoln,%
  1196. Seg,SetAspectRatio,Sin,SizeOf,Sound,SPtr,Sqr,Sqrt,SSeg,Succ,%
  1197. Swap,TextHeight,TextWidth,Trunc,TypeOf,UpCase,WhereX,WhereY,%
  1198. Append,Arc,Assign,AssignCrt,Bar,Bar3D,BlockRead,BlockWrite,ChDir,%
  1199. Circle,ClearDevice,ClearViewPort,Close,CloseGraph,ClrEol,ClrScr,%
  1200. Dec,Delay,Delete,DelLine,DetectGraph,Dispose,DrawPoly,Ellipse,%
  1201. Erase,Exec,Exit,FillChar,FillEllipse,FillPoly,FindFirst,FindNext,%
  1202. FloodFill,Flush,FreeMem,FSplit,GetArcCoords,GetAspectRatio,%
  1203. GetDate,GetDefaultPalette,GetDir,GetCBreak,GetFAttr,%
  1204. GetFillSettings,GetFTime,GetImage,GetIntVec,GetLineSettings,%
  1205. GetMem,GetPalette,GetTextSettings,GetTime,GetVerify,%
  1206. GetViewSettings,GoToXY,Halt,HighVideo,Inc,InitGraph,Insert,%
  1207. InsLine,Intr,Keep,Line,LineRel,LineTo,LowVideo,Mark,MkDir,Move,%
  1208. MoveRel,MoveTo,MsDos,New,NormVideo,NoSound,OutText,OutTextXY,%
  1209. OvrClearBuf,OvrInit,OvrInitEMS,OvrSetBuf,PackTime,PieSlice,%
  1210. PutImage,PutPixel,Randomize,Rectangle,Release,Rename,%
  1211. RestoreCrtMode,RmDir,RunError,Sector,Seek,SetActivePage,%
  1212. SetAllPalette,SetBkColor,SetCBreak,SetColor,SetDate,SetFAttr,%
  1213. SetFillPattern,SetFillStyle,SetFTime,SetGraphBufSize,%
  1214. SetGraphMode,SetIntVec,SetLineStyle,SetPalette,SetRGBPalette,%
  1215. SetTextBuf,SetTextJustify,SetTextStyle,SetTime,SetUserCharSize,%
  1216. SetVerify,SetViewPort,SetVisualPage,SetWriteMode,Sound,Str,%
  1217. SwapVectors,TextBackground,TextColor,TextMode,Truncate,%
  1218. UnpackTime,Val,Window}%
  1219. }%
  1220. % \end{macrocode}
  1221. % \begin{macrocode}
  1222. %</pascal>
  1223. % \end{macrocode}
  1224. % \endgroup
  1225. %
  1226. %
  1227. % \subsection{Perl}
  1228. %
  1229. % I got the data from \texttt{http://www.perl.com}.
  1230. % But I wish to thank \lsthelper{Herbert~Weinhandl}{[email protected]}{}{} for the book 'Learning Perl'.
  1231. % \begingroup
  1232. % \begin{macrocode}
  1233. %<*perl>
  1234. % \end{macrocode}
  1235. % \begin{macrocode}
  1236. \lstdefinedrvlanguage{Perl}%
  1237. {keywords={abs,accept,alarm,atan2,bind,binmode,bless,caller,chdir,%
  1238. chmod,chomp,chop,chown,chr,chroot,close,closedir,connect,%
  1239. continue,cos,crypt,dbmclose,dbmopen,defined,delete,die,do,dump,%
  1240. each,else,elsif,endgrent,endhostent,endnetent,endprotoent,%
  1241. endpwent,endservent,eof,eval,exec,exists,exit,exp,fcntl,fileno,%
  1242. flock,for,foreach,fork,format,formline,getc,getgrent,getgrgid,%
  1243. getgrnam,gethostbyaddr,gethostbyname,gethostent,getlogin,%
  1244. getnetbyaddr,getnetbyname,getnetent,getpeername,getpgrp,%
  1245. getppid,getpriority,getprotobyname,getprotobynumber,getprotoent,%
  1246. getpwent,getpwnam,getpwuid,getservbyname,getservbyport,%
  1247. getservent,getsockname,getsockopt,glob,gmtime,goto,grep,hex,if,%
  1248. import,index,int,ioctl,join,keys,kill,last,lc,lcfirst,length,%
  1249. link,listen,local,localtime,log,lstat,m,map,mkdir,msgctl,msgget,%
  1250. msgrcv,msgsnd,my,next,no,oct,open,opendir,ord,pack,package,pipe,%
  1251. pop,pos,print,printf,prototype,push,q,qq,quotemeta,qw,qx,rand,%
  1252. read,readdir,readlink,recv,redo,ref,rename,require,reset,return,%
  1253. reverse,rewinddir,rindex,rmdir,s,scalar,seek,seekdir,select,%
  1254. semctl,semget,semop,send,setgrent,sethostent,setnetent,setpgrp,%
  1255. setpriority,setprotoent,setpwent,setservent,setsockopt,shift,%
  1256. shmctl,shmget,shmread,shmwrite,shutdown,sin,sleep,socket,%
  1257. socketpair,sort,splice,split,sprintf,sqrt,srand,stat,study,sub,%
  1258. substr,symlink,syscall,sysopen,sysread,system,syswrite,tell,%
  1259. telldir,tie,tied,time,times,tr,truncate,uc,ucfirst,umask,undef,%
  1260. unless,unlink,unpack,unshift,untie,until,use,utime,values,vec,%
  1261. wait,waitpid,wantarray,warn,while,write,y},%
  1262. sensitive=true,%
  1263. commentline={\#},%
  1264. stringizer=[b]{"'}%
  1265. }%
  1266. % \end{macrocode}
  1267. % \endgroup
  1268. %
  1269. % \begin{macro}{\lstSCT@perl}
  1270. % We define the 'POD character' |=| and say that after a dollor sign the sharp is nothing else than |\lstCC@ProcessOther\#|.
  1271. % In all other cases the comment line indicator is untouched!
  1272. % \begin{macrocode}
  1273. \gdef\lstSCT@perl{%
  1274. \lccode`\~=`\=\lowercase{\let\lsts@POD~\let~}\lstCC@ProcessPOD %
  1275. \lstCC@SpecialUseAfter{$}{\#}{\lstCC@ProcessOther\#}}%
  1276. % \end{macrocode}
  1277. % \end{macro}
  1278. % \begingroup
  1279. % \begin{macrocode}
  1280. %</perl>
  1281. % \end{macrocode}
  1282. % \endgroup
  1283. %
  1284. %
  1285. % \subsection{PL/I}
  1286. %
  1287. % Found the data in
  1288. % \begin{itemize}
  1289. % \item
  1290. % \textsc{Bernhard Fischer, Herman Fischer}:
  1291. % \textbf{Structured Programming in PL/I and PL/C};
  1292. % Copyright {\copyright} 1976 by Marcel Dekker, Inc.;
  1293. % ISBN 0-8247-6394-7
  1294. % \end{itemize}
  1295. % \begingroup
  1296. % \begin{macrocode}
  1297. %<*pli>
  1298. % \end{macrocode}
  1299. % \begin{macrocode}
  1300. \lstdefinedrvlanguage{PL/I}%
  1301. {keywords={ABS,ATAN,AUTOMATIC,AUTO,ATAND,BEGIN,BINARY,BIN,BIT,%
  1302. BUILTIN,BY,CALL,CHARACTER,CHAR,CHECK,COLUMN,COL,COMPLEX,CPLX,%
  1303. COPY,COS,COSD,COSH,DATA,DATE,DECIMAL,DEC,DECLARE,DCL,DO,EDIT,%
  1304. ELSE,END,ENDFILE,ENDPAGE,ENTRY,EXP,EXTERNAL,EXT,FINISH,FIXED,%
  1305. FIXEDOVERFLOW,FOFL,FLOAT,FORMAT,GET,GO,GOTO,IF,IMAG,INDEX,%
  1306. INITIAL,INIT,INTERNAL,INT,LABEL,LENGTH,LIKE,LINE,LIST,LOG,LOG2,%
  1307. LOG10,MAIN,MAX,MIN,MOD,NOCHECK,NOFIXEDOVERFLOW,NOFOFL,NOOVERFLOW,%
  1308. NOOFL,NOSIZE,NOUNDERFLOW,NOUFL,NOZERODIVIDE,NOZDIV,ON,OPTIONS,%
  1309. OVERFLOW,OFL,PAGE,PICTURE,PROCEDURE,PROC,PUT,READ,REPEAT,RETURN,%
  1310. RETURNS,ROUND,SIN,SIND,SINH,SIZE,SKIP,SQRT,STATIC,STOP,STRING,%
  1311. SUBSTR,SUM,SYSIN,SYSPRINT,TAN,TAND,TANH,THEN,TO,UNDERFLOW,UFL,%
  1312. VARYING,WHILE,WRITE,ZERODIVIDE,ZDIV},%
  1313. sensitive=false,%
  1314. singlecomment={/*}{*/},%
  1315. stringizer={'}%
  1316. }%
  1317. % \end{macrocode}
  1318. % \begin{macrocode}
  1319. %</pli>
  1320. % \end{macrocode}
  1321. % \endgroup
  1322. %
  1323. %
  1324. % \subsection{Prolog}
  1325. %
  1326. % \lsthelper{Dominique de Waleffe}{[email protected]}{1997/11/24}{Prolog} mailed me the data for Prolog.
  1327. % He took the keywords from the \textsf{LGrind} language definition file.
  1328. % \begingroup
  1329. % \begin{macrocode}
  1330. %<*prolog>
  1331. % \end{macrocode}
  1332. % \begin{macrocode}
  1333. %% (c) 1997 Dominique de Waleffe
  1334. \lstdefinelanguage{Prolog}%
  1335. {keywords={op,mod,abort,ancestors,arg,ascii,ask,assert,asserta,%
  1336. assertz,atom,atomic,char,clause,close,concat,consult,ed,ef,em,%
  1337. eof,fail,file,findall,write,functor,getc,integer,is,length,%
  1338. listing,load,name,nl,nonvar,not,numbervars,op,or,pp,prin,print,%
  1339. private,prompt,putc,ratom,read,read_from_this_file,rename,repeat,%
  1340. retract,retractall,save,see,seeing,seen,sh,skip,statistics,%
  1341. subgoal_of,system,tab,tell,telling,time,told,trace,true,unload,%
  1342. untrace,var,write},%
  1343. sensitive=false,%
  1344. commentline={\%},%
  1345. singlecomment={/*}{*/},%
  1346. stringizer=[bd]{"'}%
  1347. }%
  1348. % \end{macrocode}
  1349. % \begin{macrocode}
  1350. %</prolog>
  1351. % \end{macrocode}
  1352. % \endgroup
  1353. %
  1354. %
  1355. % \subsection{Simula}
  1356. %
  1357. % Took data from
  1358. % \begin{itemize}
  1359. % \item
  1360. % \textsc{G\"unther Lamprecht}:
  1361. % \textbf{Introduction to SIMULA 67};
  1362. % Braunschweig; Wiesbaden: Vieweg, 1981
  1363. % \end{itemize}
  1364. % \begingroup
  1365. % \begin{macrocode}
  1366. %<*simula>
  1367. % \end{macrocode}
  1368. % \begin{macrocode}
  1369. \lstdefinelanguage[67]{Simula}%
  1370. {keywords={activate,after,array,at,before,begin,boolean,character,%
  1371. class,comment,delay,detach,do,else,end,external,false,for,go,%
  1372. goto,if,in,inner,inspect,integer,is,label,name,new,none,notext,%
  1373. otherwise,prior,procedure,qua,reactivate,real,ref,resume,simset,%
  1374. simulation,step,switch,text,then,this,to,true,until,value,%
  1375. virtual,when,while},%
  1376. sensitive=false,%
  1377. doublekeywordcommentsemicolon=%
  1378. {end}{else,end,otherwise,when}{comment},%
  1379. stringizer={"'}%
  1380. }%
  1381. % \end{macrocode}
  1382. %
  1383. % \begin{macrocode}
  1384. \lstdefinedrvlanguage[CII]{Simula}%
  1385. {language=[67]Simula,%
  1386. morekeywords={and,equiv,exit,impl,not,or,stop}%
  1387. }%
  1388. % \end{macrocode}
  1389. %
  1390. % \begin{macrocode}
  1391. \lstdefinedrvlanguage[DEC]{Simula}%
  1392. {language=[67]Simula,%
  1393. morekeywords={and,eq,eqv,ge,gt,hidden,imp,le,long,lt,ne,not,%
  1394. options,or,protected,short}%
  1395. }%
  1396. % \end{macrocode}
  1397. %
  1398. % \begin{macrocode}
  1399. \lstdefinedrvlanguage[IBM]{Simula}{language=[DEC]Simula}
  1400. % \end{macrocode}
  1401. % \begin{macrocode}
  1402. %</simula>
  1403. % \end{macrocode}
  1404. % \endgroup
  1405. %
  1406. %
  1407. % \subsection{SQL}
  1408. %
  1409. % Data come from \lsthelper{Christian Haul}{[email protected]}{1998/01/09}{SQL}.
  1410. % \begingroup
  1411. % \begin{macrocode}
  1412. %<*sql>
  1413. % \end{macrocode}
  1414. % \begin{macrocode}
  1415. %% (c) 1998 by Christian Haul
  1416. \lstdefinelanguage{sql}%
  1417. {keywords={ABSOLUTE,ACTION,ADD,ALLOCATE,ALTER,ARE,ASSERTION,AT,%
  1418. BETWEEN,BIT,BIT_LENGTH,BOTH,BY,CASCADE,CASCADED,CASE,CAST,%
  1419. CATALOG,CHAR,CHAR_LENGTH,CHARACTER_LENGTH,CLUSTER,COALESCE,%
  1420. COLLATE,COLLATION,COLUMN,CONNECT,CONNECTION,CONSTRAINT,%
  1421. CONSTRAINTS,CONVERT,CORRESPONDING,CREATE,CROSS,CURRENT_DATE,%
  1422. CURRENT_TIME,CURRENT_TIMESTAMP,CURRENT_USER,DATE,DAY,DEALLOCATE,%
  1423. DEC,DECIMAL,DEFERRABLE,DEFERED,DESCRIBE,DESCRIPTOR,DIAGNOSTICS,%
  1424. DISCONNECT,DOMAIN,DROP,ELSE,END,EXEC,EXCEPT,EXCEPTION,EXECUTE,%
  1425. EXTERNAL,EXTRACT,FALSE,FIRST,FLOAT,FOREIGN,FROM,FULL,GET,GLOBAL,%
  1426. GRAPHIC,HAVING,HOUR,IDENTITY,IMMEDIATE,INDEX,INITIALLY,INNER,%
  1427. INPUT,INSENSITIVE,INT,INTEGER,INTERSECT,INTERVAL,ISOLATION,JOIN,%
  1428. KEY,LAST,LEADING,LEFT,LEVEL,LOCAL,LOWER,MATCH,MINUTE,MONTH,NAMES,%
  1429. NATIONAL,NATURAL,NCHAR,NEXT,NO,NOT,NULL,NULLIF,OCTET_LENGTH,ON,%
  1430. ONLY,ORDERED,OUTER,OUTPUT,OVERLAPS,PAD,PARTIAL,POSITION,PREPARE,%
  1431. PRESERVE,PRIMARY,PRIOR,READ,RELATIVE,RESTRICT,REVOKE,RIGHT,ROWS,%
  1432. SCROLL,SECOND,SELECT,SESSION,SESSION_USER,SIZE,SMALLINT,SPACE,%
  1433. SQLSTATE,SUBSTRING,SYSTEM_USER,TABLE,TEMPORARY,THEN,TIME,%
  1434. TIMESTAMP,TIMEZONE_HOUR,TIMEZONE_MINUTE,TRAILING,TRANSACTION,%
  1435. TRANSLATE,TRANSLATION,TRIM,TRUE,UNIQUE,UNKNOWN,UPPER,USAGE,USING,%
  1436. VALUE,VARCHAR,VARGRAPHIC,VARYING,WHEN,WHERE,WRITE,YEAR,ZONE},%
  1437. sensitive=true,%
  1438. commentline={--},%
  1439. singlecomment={/*}{*/},%
  1440. stringizer={'"}%
  1441. }%
  1442. % \end{macrocode}
  1443. % \begin{macrocode}
  1444. %</sql>
  1445. % \end{macrocode}
  1446. % \endgroup
  1447. %
  1448. %
  1449. % \subsection{\TeX}
  1450. %
  1451. % I extracted the data from |plain.tex| and |latex.ltx|.
  1452. % \begingroup
  1453. % \begin{macrocode}
  1454. %<*tex>
  1455. % \end{macrocode}
  1456. % \begin{macrocode}
  1457. \lstdefinedrvlanguage[plain]{tex}%
  1458. {texcs={\lstkeys@tex@primitives,\lstkeys@tex@commoncs,%
  1459. advancepageno,beginsection,bf,bffam,bye,cal,cleartabs,columns,%
  1460. dosupereject,endinsert,eqalign,eqalignno,fiverm,fivebf,fivei,%
  1461. fivesy,folio,footline,hang,headline,it,itemitem,itfam,leqalignno,%
  1462. magnification,makefootline,makeheadline,midinsert,mit,mscount,%
  1463. nopagenumbers,normalbottom,of,oldstyle,pagebody,pagecontents,%
  1464. pageinsert,pageno,plainoutput,preloaded,proclaim,rm,settabs,%
  1465. sevenbf,seveni,sevensy,sevenrm,sl,slfam,supereject,tabalign,tabs,%
  1466. tabsdone,tabsyet,tenbf,tenex,teni,tenit,tenrm,tensl,tensy,tentt,%
  1467. textindent,topglue,topins,topinsert,tt,ttfam,ttraggedright,%
  1468. vfootnote},%
  1469. sensitive=true,%
  1470. alsoother={0123456789},%
  1471. commentline={\%}%
  1472. }%
  1473. % \end{macrocode}
  1474. %
  1475. % \begin{macrocode}
  1476. \lstdefinedrvlanguage[primitive]{tex}%
  1477. {texcs={\lstkeys@tex@primitives},%
  1478. sensitive=true,%
  1479. alsoother={0123456789},%
  1480. commentline={\%}%
  1481. }%
  1482. % \end{macrocode}
  1483. %
  1484. % \begin{macrocode}
  1485. \lstdefinedrvlanguage[latex]{tex}%
  1486. {texcs={\lstkeys@tex@primitives,\lstkeys@tex@latexcs},%
  1487. sensitive=true,%
  1488. alsoother={0123456789},%
  1489. commentline={\%}%
  1490. }%
  1491. % \end{macrocode}
  1492. %
  1493. % \begin{macrocode}
  1494. \lstdefinedrvlanguage[allatex]{tex}%
  1495. {texcs={\lstkeys@tex@primitives,\lstkeys@tex@latexcs,
  1496. AtBeginDocument,AtBeginDvi,AtEndDocument,AtEndOfClass,%
  1497. AtEndOfPackage,ClassError,ClassInfo,ClassWarning,%
  1498. ClassWarningNoLine,CurrentOption,DeclareErrorFont,%
  1499. DeclareFixedFont,DeclareFontEncoding,DeclareFontEncodingDefaults,%
  1500. DeclareFontFamily,DeclareFontShape,DeclareFontSubstitution,%
  1501. DeclareMathAccent,DeclareMathAlphabet,DeclareMathAlphabet,%
  1502. DeclareMathDelimiter,DeclareMathRadical,DeclareMathSizes,%
  1503. DeclareMathSymbol,DeclareMathVersion,DeclareOldFontCommand,%
  1504. DeclareOption,DeclarePreloadSizes,DeclareRobustCommand,%
  1505. DeclareSizeFunction,DeclareSymbolFont,DeclareSymbolFontAlphabet,%
  1506. DeclareTextAccent,DeclareTextAccentDefault,DeclareTextCommand,%
  1507. DeclareTextCommandDefault,DeclareTextComposite,%
  1508. DeclareTextCompositeCommand,DeclareTextFontCommand,%
  1509. DeclareTextSymbol,DeclareTextSymbolDefault,ExecuteOptions,%
  1510. GenericError,GenericInfo,GenericWarning,IfFileExists,%
  1511. InputIfFileExists,LoadClass,LoadClassWithOptions,MessageBreak,%
  1512. OptionNotUsed,PackageError,PackageInfo,PackageWarning,%
  1513. PackageWarningNoLine,PassOptionsToClass,PassOptionsToPackage,%
  1514. ProcessOptionsProvidesClass,ProvidesFile,ProvidesFile,%
  1515. ProvidesPackage,ProvideTextCommand,RequirePackage,%
  1516. RequirePackageWithOptions,SetMathAlphabet,SetSymbolFont,%
  1517. TextSymbolUnavailable,UseTextAccent,UseTextSymbol},%
  1518. keywords={array,center,displaymath,document,enumerate,eqnarray,%
  1519. equation,flushleft,flushright,itemize,list,lrbox,math,minipage,%
  1520. picture,sloppypar,tabbing,tabular,trivlist,verbatim},%
  1521. sensitive=true,%
  1522. alsoother={0123456789},%
  1523. commentline={\%}%
  1524. }%
  1525. % \end{macrocode}
  1526. % \endgroup
  1527. %
  1528. % \begin{macro}{\lstkeys@tex@primitives}
  1529. % \begin{macro}{\lstkeys@tex@commoncs}
  1530. % \begin{macro}{\lstkeys@tex@latexcs}
  1531. % Now come all control sequences.
  1532. % The second macro holds the common control sequences of plain \TeX\ and \LaTeX.
  1533. % \begin{macrocode}
  1534. \lststorekeywords\lstkeys@tex@primitives{above,abovedisplayshortskip,%
  1535. abovedisplayskip,abovewithdelims,accent,adjdemerits,advance,%
  1536. afterassignment,aftergroup,atop,atopwithdelims,badness,%
  1537. baselineskip,batchmode,begingroup,belowdisplayshortskip,%
  1538. belowdisplayskip,binoppenalty,botmark,box,boxmaxdepth,%
  1539. brokenpenalty,catcode,char,chardef,cleaders,closein,closeout,%
  1540. clubpenalty,copy,count,countdef,cr,crcr,csname,day,deadcycles,def,%
  1541. defaulthyphenchar,defaultskewchar,delcode,delimiter,%
  1542. delimiterfactor,delimitershortfall,dimen,dimendef,discretionary,%
  1543. displayindent,displaylimits,displaystyle,displaywidowpenalty,%
  1544. displaywidth,divide,doublehyphendemerits,dp,else,emergencystretch,%
  1545. end,endcsname,endgroup,endinput,endlinechar,eqno,errhelp,%
  1546. errmessage,errorcontextlines,errorstopmode,escapechar,everycr,%
  1547. everydisplay,everyhbox,everyjob,everymath,everypar,everyvbox,%
  1548. exhyphenpenalty,expandafter,fam,fi,finalhypendemerits,firstmark,%
  1549. floatingpenalty,font,fontdimen,fontname,futurelet,gdef,global,%
  1550. globaldefs,halign,hangafter,hangindent,hbadness,hbox,hfil,hfill,%
  1551. hfilneg,hfuzz,hoffset,holdinginserts,hrule,hsize,hskip,hss,ht,%
  1552. hyphenation,hyphenchar,hyphenpenalty,if,ifcase,ifcat,ifdim,ifeof,%
  1553. iffalse,ifhbox,ifhmode,ifinner,ifmmode,ifnum,ifodd,iftrue,ifvbox,%
  1554. ifvmode,ifvoid,ifx,ignorespaces,immediate,indent,input,insert,%
  1555. insertpenalties,interlinepenalty,jobname,kern,language,lastbox,%
  1556. lastkern,lastpenalty,lastskip,lccode,leaders,left,lefthyphenmin,%
  1557. leftskip,leqno,let,limits,linepenalty,lineskip,lineskiplimits,long,%
  1558. looseness,lower,lowercase,mag,mark,,mathaccent,mathbin,mathchar,%
  1559. mathchardef,mathchoice,mathclose,mathcode,mathinner,mathop,%
  1560. mathopen,mathord,mathpunct,mathrel,mathsurround,maxdeadcycles,%
  1561. maxdepth,meaning,medmuskip,message,mkern,month,moveleft,moveright,%
  1562. mskip,multiply,muskip,muskipdef,newlinechar,noalign,noboundary,%
  1563. noexpand,noindent,nolimits,nonscript,nonstopmode,%
  1564. nulldelimiterspace,nullfont,number,omit,openin,openout,or,outer,%
  1565. output,outputpenalty,over,overfullrule,overline,overwithdelims,%
  1566. pagedepth,pagefilllstretch,pagefillstretch,pagefilstretch,pagegoal,%
  1567. pageshrink,pagestretch,pagetotal,par,parfillskip,parindent,%
  1568. parshape,parskip,patterns,pausing,penalty,postdisplaypenalty,%
  1569. predisplaypenalty,predisplaysize,pretolerance,prevdepth,prevgraf,%
  1570. radical,raise,read,relax,relpenalty,right,righthyphenmin,rightskip,%
  1571. romannumeral,scriptfont,scriptscriptfont,scriptscriptstyle,%
  1572. scriptspace,scriptstyle,scrollmode,setbox,setlanguage,sfcode,%
  1573. shipout,show,showbox,showboxbreadth,showboxdepth,showlists,showthe,%
  1574. skewchar,skip,skipdef,spacefactor,spaceskip,span,special,%
  1575. splitbotmark,splitfirstmark,splitmaxdepth,splittopskip,string,%
  1576. tabskip,textfont,textstyle,the,thickmuskip,thinmuskip,time,toks,%
  1577. toksdef,tolerance,topmark,topskip,tracingcommands,tracinglostchars,%
  1578. tracingmacros,tracingonline,tracingoutput,tracingpages,%
  1579. tracingparagraphs,tracingrestores,tracingstats,uccode,uchyph,%
  1580. underline,unhbox,unhcopy,unkern,unpenalty,unskip,unvbox,unvcopy,%
  1581. uppercase,vadjust,valign,vbadness,vbox,vcenter,vfil,vfill,vfilneg,%
  1582. vfuzz,voffset,vrule,vsize,vskip,vsplit,vss,vtop,wd,widowpenalty,%
  1583. write,xdef,xleaders,xspaceskip,year}%
  1584. % \end{macrocode}
  1585. % \begin{macrocode}
  1586. \lststorekeywords\lstkeys@tex@commoncs{active,acute,ae,AE,aleph,%
  1587. allocationnumber,allowbreak,alpha,amalg,angle,approx,arccos,arcsin,%
  1588. arctan,arg,arrowvert,Arrowvert,ast,asymp,b,backslash,bar,beta,%
  1589. bgroup,big,Big,bigbreak,bigcap,bigcirc,bigcup,bigg,Bigg,biggl,%
  1590. Biggl,biggm,Biggm,biggr,Biggr,bigl,Bigl,bigm,Bigm,bigodot,bigoplus,%
  1591. bigotimes,bigr,Bigr,bigskip,bigskipamount,bigsqcup,bigtriangledown,%
  1592. bigtriangleup,biguplus,bigvee,bigwedge,bmod,bordermatrix,bot,%
  1593. bowtie,brace,braceld,bracelu,bracerd,braceru,bracevert,brack,break,%
  1594. breve,buildrel,bullet,c,cap,cases,cdot,cdotp,cdots,centering,%
  1595. centerline,check,chi,choose,circ,clubsuit,colon,cong,coprod,%
  1596. copyright,cos,cosh,cot,coth,csc,cup,d,dag,dagger,dashv,ddag,%
  1597. ddagger,ddot,ddots,deg,delta,Delta,det,diamond,diamondsuit,dim,%
  1598. displaylines,div,do,dospecials,dot,doteq,dotfill,dots,downarrow,%
  1599. Downarrow,downbracefill,egroup,eject,ell,empty,emptyset,endgraf,%
  1600. endline,enskip,enspace,epsilon,equiv,eta,exists,exp,filbreak,flat,%
  1601. fmtname,fmtversion,footins,footnote,footnoterule,forall,%
  1602. frenchspacing,frown,gamma,Gamma,gcd,ge,geq,gets,gg,goodbreak,grave,%
  1603. H,hat,hbar,heartsuit,hglue,hideskip,hidewidth,hom,hookleftarrow,%
  1604. hookrightarrow,hphantom,hrulefill,i,ialign,iff,Im,imath,in,inf,%
  1605. infty,int,interdisplaylinepenalty,interfootnotelinepenalty,intop,%
  1606. iota,item,j,jmath,joinrel,jot,kappa,ker,l,L,lambda,Lambda,land,%
  1607. langle,lbrace,lbrack,lceil,ldotp,ldots,le,leavevmode,leftarrow,%
  1608. Leftarrow,leftarrowfill,leftharpoondown,leftharpoonup,leftline,%
  1609. leftrightarrow,Leftrightarrow,leq,lfloor,lg,lgroup,lhook,lim,%
  1610. liminf,limsup,line,ll,llap,lmoustache,ln,lnot,log,longleftarrow,%
  1611. Longleftarrow,longleftrightarrow,Longleftrightarrow,longmapsto,%
  1612. longrightarrow,Longrightarrow,loop,lor,lq,magstep,magstep,%
  1613. magstephalf,mapsto,mapstochar,mathhexbox,mathpalette,mathstrut,%
  1614. matrix,max,maxdimen,medbreak,medskip,medskipamount,mid,min,models,%
  1615. mp,mu,multispan,nabla,narrower,natural,ne,nearrow,neg,negthinspace,%
  1616. neq,newbox,newcount,newdimen,newfam,newif,newinsert,newlanguage,%
  1617. newmuskip,newread,newskip,newtoks,newwrite,next,ni,nobreak,%
  1618. nointerlineskip,nonfrenchspacing,normalbaselines,%
  1619. normalbaselineskip,normallineskip,normallineskiplimit,not,notin,nu,%
  1620. null,nwarrow,o,O,oalign,obeylines,obeyspaces,odot,oe,OE,%
  1621. offinterlineskip,oint,ointop,omega,Omega,ominus,ooalign,openup,%
  1622. oplus,oslash,otimes,overbrace,overleftarrow,overrightarrow,owns,P,%
  1623. parallel,partial,perp,phantom,phi,Phi,pi,Pi,pm,pmatrix,pmod,Pr,%
  1624. prec,preceq,prime,prod,propto,psi,Psi,qquad,quad,raggedbottom,%
  1625. raggedright,rangle,rbrace,rbrack,rceil,Re,relbar,Relbar,%
  1626. removelastskip,repeat,rfloor,rgroup,rho,rhook,rightarrow,%
  1627. Rightarrow,rightarrowfill,rightharpoondown,rightharpoonup,%
  1628. rightleftharpoons,rightline,rlap,rmoustache,root,rq,S,sb,searrow,%
  1629. sec,setminus,sharp,showhyphens,sigma,Sigma,sim,simeq,sin,sinh,skew,%
  1630. slash,smallbreak,smallint,smallskip,smallskipamount,smash,smile,sp,%
  1631. space,spadesuit,sqcap,sqcup,sqrt,sqsubseteq,sqsupseteq,ss,star,%
  1632. strut,strutbox,subset,subseteq,succ,succeq,sum,sup,supset,supseteq,%
  1633. surd,swarrow,t,tan,tanh,tau,TeX,theta,Theta,thinspace,tilde,times,%
  1634. to,top,tracingall,triangle,triangleleft,triangleright,u,underbar,%
  1635. underbrace,uparrow,Uparrow,upbracefill,updownarrow,Updownarrow,%
  1636. uplus,upsilon,Upsilon,v,varepsilon,varphi,varpi,varrho,varsigma,%
  1637. vartheta,vdash,vdots,vec,vee,vert,Vert,vglue,vphantom,wedge,%
  1638. widehat,widetilde,wlog,wp,wr,xi,Xi,zeta}%
  1639. % \end{macrocode}
  1640. % \begin{macrocode}
  1641. \lststorekeywords\lstkeys@tex@latexcs{a,AA,aa,addcontentsline,%
  1642. addpenalty,addtocontents,addtocounter,addtolength,addtoversion,%
  1643. addvspace,alph,Alph,and,arabic,array,arraycolsep,arrayrulewidth,%
  1644. arraystretch,author,baselinestretch,begin,bezier,bfseries,bibcite,%
  1645. bibdata,bibitem,bibliography,bibliographystyle,bibstyle,boldmath,%
  1646. botfigrule,bottomfraction,Box,caption,center,CheckCommand,circle,%
  1647. citation,cite,cleardoublepage,clearpage,cline,columnsep,%
  1648. columnseprule,columnwidth,contentsline,dashbox,date,dblfigrule,%
  1649. dblfloatpagefraction,dblfloatsep,dbltextfloatsep,dbltopfraction,%
  1650. defaultscriptratio,defaultscriptscriptratio,depth,Diamond,%
  1651. displaymath,document,documentclass,documentstyle,doublerulesep,em,%
  1652. emph,endarray,endcenter,enddisplaymath,enddocument,endenumerate,%
  1653. endeqnarray,endequation,endflushleft,endflushright,enditemize,%
  1654. endlist,endlrbox,endmath,endminipage,endpicture,endsloppypar,%
  1655. endtabbing,endtabular,endtrivlist,endverbatim,enlargethispage,%
  1656. ensuremath,enumerate,eqnarray,equation,evensidemargin,extracolsep,%
  1657. fbox,fboxrule,fboxsep,filecontents,fill,floatpagefraction,floatsep,%
  1658. flushbottom,flushleft,flushright,fnsymbol,fontencoding,fontfamily,%
  1659. fontseries,fontshape,fontsize,fontsubfuzz,footnotemark,footnotesep,%
  1660. footnotetext,footskip,frac,frame,framebox,fussy,glossary,%
  1661. headheight,headsep,height,hline,hspace,I,include,includeonly,index,%
  1662. inputlineno,intextsep,itemindent,itemize,itemsep,iterate,itshape,%
  1663. Join,kill,label,labelsep,labelwidth,LaTeX,LaTeXe,leadsto,lefteqn,%
  1664. leftmargin,leftmargini,leftmarginii,leftmarginiii,leftmarginiv,%
  1665. leftmarginv,leftmarginvi,leftmark,lhd,linebreak,linespread,%
  1666. linethickness,linewidth,list,listfiles,listfiles,listparindent,%
  1667. lrbox,makeatletter,makeatother,makebox,makeglossary,makeindex,%
  1668. makelabel,MakeLowercase,MakeUppercase,marginpar,marginparpush,%
  1669. marginparsep,marginparwidth,markboth,markright,math,mathbf,%
  1670. mathellipsis,mathgroup,mathit,mathsf,mathsterling,mathtt,%
  1671. mathunderscore,mathversion,mbox,mdseries,mho,minipage,multicolumn,%
  1672. multiput,NeedsTeXFormat,newcommand,newcounter,newenvironment,%
  1673. newfont,newhelp,newlabel,newlength,newline,newmathalphabet,newpage,%
  1674. newsavebox,newtheorem,nobreakspace,nobreakspace,nocite,nocorr,%
  1675. nocorrlist,nofiles,nolinebreak,nonumber,nopagebreak,normalcolor,%
  1676. normalfont,normalmarginpar,numberline,obeycr,oddsidemargin,%
  1677. oldstylenums,onecolumn,oval,pagebreak,pagenumbering,pageref,%
  1678. pagestyle,paperheight,paperwidth,paragraphmark,parbox,parsep,%
  1679. partopsep,picture,poptabs,pounds,protect,pushtabs,put,qbezier,%
  1680. qbeziermax,r,raggedleft,raisebox,ref,refstepcounter,renewcommand,%
  1681. renewenvironment,restorecr,reversemarginpar,rhd,rightmargin,%
  1682. rightmark,rmfamily,roman,Roman,rootbox,rule,samepage,sbox,scshape,%
  1683. secdef,sectionmark,selectfont,setcounter,settodepth,settoheight,%
  1684. settowidth,sffamily,shortstack,showoutput,showoverfull,sloppy,%
  1685. sloppypar,slshape,sqsubset,sqsupset,SS,stackrel,stepcounter,stop,%
  1686. stretch,subparagraphmark,subsectionmark,subsubsectionmark,%
  1687. suppressfloats,symbol,tabbing,tabbingsep,tabcolsep,tabular,%
  1688. tabularnewline,textasciicircum,textasciitilde,textbackslash,%
  1689. textbar,textbf,textbraceleft,textbraceright,textbullet,textcircled,%
  1690. textcompwordmark,textdagger,textdaggerdbl,textdollar,textellipsis,%
  1691. textemdash,textendash,textexclamdown,textfloatsep,textfraction,%
  1692. textgreater,textheight,textit,textless,textmd,textnormal,%
  1693. textparagraph,textperiodcentered,textquestiondown,textquotedblleft,%
  1694. textquotedblright,textquoteleft,textquoteright,textregistered,%
  1695. textrm,textsc,textsection,textsf,textsl,textsterling,%
  1696. textsuperscript,texttrademark,texttt,textunderscore,textup,%
  1697. textvisiblespace,textwidth,thanks,thefootnote,thempfn,thempfn,%
  1698. thempfootnote,thepage,thepage,thicklines,thinlines,thispagestyle,%
  1699. title,today,topfigrule,topfraction,topmargin,topsep,totalheight,%
  1700. tracingfonts,trivlist,ttfamily,twocolumn,typein,typeout,unboldmath,%
  1701. unitlength,unlhd,unrhd,upshape,usebox,usecounter,usefont,%
  1702. usepackage,value,vector,verb,verbatim,vline,vspace,width}%
  1703. % \end{macrocode}
  1704. % \end{macro}\end{macro}\end{macro}
  1705. % \begingroup
  1706. % \begin{macrocode}
  1707. %</tex>
  1708. % \end{macrocode}
  1709. % \endgroup
  1710. %
  1711. %
  1712. % \subsection{VHDL}
  1713. %
  1714. % This language is due to \lsthelper{Kai Wollenweber}{[email protected]}{1997/11/04}{VHDL}.
  1715. % I've done conversion to \textsf{listings} 0.19 only.
  1716. % \lsthelper{Gaurav Aggarwal}{[email protected]}{1998/04/02}{\lstsensitivefalse} reported that VHDL is case insensitive.
  1717. % \begingroup
  1718. % \begin{macrocode}
  1719. %<*vhdl>
  1720. % \end{macrocode}
  1721. % \begin{macrocode}
  1722. %% (c) 1997 Kai Wollenweber
  1723. \lstdefinelanguage{VHDL}%
  1724. {keywords={ALL,ARCHITECTURE,ABS,AND,ASSERT,ARRAY,AFTER,ALIAS,%
  1725. ACCESS,ATTRIBUTE,BEGIN,BODY,BUS,BLOCK,BUFFER,CONSTANT,CASE,%
  1726. COMPONENT,CONFIGURATION,DOWNTO,ELSE,ELSIF,END,ENTITY,EXIT,%
  1727. FUNCTION,FOR,FILE,GENERIC,GENERATE,GUARDED,GROUP,IF,IN,INOUT,IS,%
  1728. INERTIAL,IMPURE,LIBRARY,LOOP,LABEL,LITERAL,LINKAGE,MAP,MOD,NOT,%
  1729. NOR,NAND,NULL,NEXT,NEW,OUT,OF,OR,OTHERS,ON,OPEN,PROCESS,PORT,%
  1730. PACKAGE,PURE,PROCEDURE,POSTPONED,RANGE,REM,ROL,ROR,REPORT,RECORD,%
  1731. RETURN,REGISTER,REJECT,SIGNAL,SUBTYPE,SLL,SRL,SLA,SRA,SEVERITY,%
  1732. SELECT,THEN,TYPE,TRANSPORT,TO,USE,UNITS,UNTIL,VARIABLE,WHEN,WAIT,%
  1733. WHILE,XOR,XNOR},%
  1734. sensitive=false,% 1998 Gaurav Aggarwal
  1735. commentline={--},%
  1736. stringizer=[d]{"}%
  1737. }%
  1738. % \end{macrocode}
  1739. % \begin{macrocode}
  1740. %</vhdl>
  1741. % \end{macrocode}
  1742. % \endgroup
  1743. %
  1744. %
  1745. % \setcounter{IndexColumns}{2}
  1746. % \PrintIndex
  1747. %
  1748. %
  1749. % \Finale
  1750. %
  1751. \endinput