%%
%% This is file `lstc.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% listings.dtx  (with options: `c')
%% lstdrvrs.dtx  (with options: `c,objective-c,c++')
%% 
%% (w)(c) 1996,1997,1998 Carsten Heinz and/or any other author mentioned
%% elsewhere in this file.
%% 
%% This file is distributed freely. You are not allowed to take money for
%% the use or distribution of this file, except for a nominal charge for
%% copying etc..
%% 
%% This file is distributed without any warranty, express or implied, as
%% to merchantability or fitness for any particular purpose.
%% 
%% Permission is granted to change this file. You are not allowed to
%% distribute any changed version this file, neither under the same name
%% nor under a different one.
%% 
\lst@Aspect{cdirectives}
    {\lst@MakeKeywordArg{,#1}\let\lst@cdirectives\lst@arg}
\lst@AddToHook{SetLanguage}{\let\lst@cdirectives\relax}
\lst@AddToHook{SelectCharTable}
    {\ifx\lst@cdirectives\relax\else %
         \lccode`\~=`\#\lowercase{\let\lsts@CCD~\def~}%
         {\lst@ifmode\else %
              \@tempcnta\lst@column %
              \advance\@tempcnta\lst@length %
              \advance\@tempcnta-\lst@pos %
              \ifnum\@tempcnta=\z@ %
                  \lst@EnterMode{\lst@egroupmode}%
                      {\expandafter\lst@lAddTo\expandafter\lst@keywords%
                          \expandafter{\lst@cdirectives}}%
              \fi %
          \fi %
          \ifnum\lst@mode=\lst@egroupmode %
              {\lst@keywordstyle\lsts@CCD\lst@PrintToken}%
          \else \lsts@CCD %
          \fi}%
     \fi}
\lstdefinelanguage[ANSI]{C}%
  {keywords={auto,break,case,char,const,continue,default,do,double,%
      else,enum,extern,float,for,goto,if,int,long,register,return,%
      short,signed,sizeof,static,struct,switch,typedef,union,unsigned,%
      void,volatile,while},%
   sensitive=true,%
   singlecomment={/*}{*/},%
   stringizer=[b]{"},%
   cdirectives={define,elif,else,endif,error,if,ifdef,ifndef,line,%
      include,pragma,undef,warning}%
  }%
\lstdefinedrvlanguage[ANSI]{C++}%
  {language=[ANSI]C,%
   morekeywords={asm,bad_cast,bad_typeid,bool,catch,class,const_cast,%
      delete,dynamic_cast,false,friend,inline,namespace,new,operator,%
      private,protected,public,reinterpret_cast,static_cast,template,%
      this,throw,true,try,type_info,typeid,using,virtual,xalloc,%
      __multiple_inheritance,__single_inheritance,%
      __virtual_inheritance},%
   commentline={//}%
  }%
\lstdefinedrvlanguage[Visual]{C++}%
  {language=[ANSI]C++,%
   morekeywords={__asm,__based,__cdecl,__declspec,dllexport,%
      dllimport,__except,__fastcall,__finally,__inline,__int8,__int16,%
      __int32,__int64,naked,__stdcall,thread,__try,__leave},%
  }%
%% (c) 1997 Detlev Droege
\lstdefinedrvlanguage[Objective]{C}%
  {language=[ANSI]C,%
   morekeywords={bycopy,id,in,inout,oneway,out,self,super,%
      @class,@defs,@encode,@end,@implementation,@interface,@private,%
      @protected,@protocol,@public,@selector},%
   commentline={//},%
   cdirectives={define,elif,else,endif,error,if,ifdef,ifndef,line,%
      include,import,pragma,undef,warning}%
  }%
\endinput
%%
%% End of file `lstc.sty'.
