Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

OSGScanParseLexer.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------------*\
00002  *                                OpenSG                                     *
00003  *                                                                           *
00004  *                                                                           *
00005  *             Copyright (C) 2000-2002 by the OpenSG Forum                   *
00006  *                                                                           *
00007  *                            www.opensg.org                                 *
00008  *                                                                           *
00009  *   contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de          *
00010  *                                                                           *
00011 \*---------------------------------------------------------------------------*/
00012 /*---------------------------------------------------------------------------*\
00013  *                                License                                    *
00014  *                                                                           *
00015  * This library is free software; you can redistribute it and/or modify it   *
00016  * under the terms of the GNU Library General Public License as published    *
00017  * by the Free Software Foundation, version 2.                               *
00018  *                                                                           *
00019  * This library is distributed in the hope that it will be useful, but       *
00020  * WITHOUT ANY WARRANTY; without even the implied warranty of                *
00021  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU         *
00022  * Library General Public License for more details.                          *
00023  *                                                                           *
00024  * You should have received a copy of the GNU Library General Public         *
00025  * License along with this library; if not, write to the Free Software       *
00026  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.                 *
00027  *                                                                           *
00028 \*---------------------------------------------------------------------------*/
00029 /*---------------------------------------------------------------------------*\
00030  *                                Changes                                    *
00031  *                                                                           *
00032  *                                                                           *
00033  *                                                                           *
00034  *                                                                           *
00035  *                                                                           *
00036  *                                                                           *
00037 \*---------------------------------------------------------------------------*/
00038 
00039 #ifndef _OSGSCANPARSELEXER_H_
00040 #define _OSGSCANPARSELEXER_H_
00041 #ifdef __sgi
00042 #pragma once
00043 #endif
00044 
00050 //---------------------------------------------------------------------------
00051 //  Includes
00052 //---------------------------------------------------------------------------
00053 
00054 #ifndef yyFlexLexer
00055 #define yyFlexLexer OSGScanParseSkel_FlexLexer
00056 #include <FlexLexer.h>
00057 #undef yyFlexLexer
00058 #endif
00059 
00060 #include <OSGScanParseSkelBase.h>
00061 
00062 // OSG_BEGIN_NAMESPACE
00063 
00064 //---------------------------------------------------------------------------
00065 //  Forward References
00066 //---------------------------------------------------------------------------
00067 
00068 //---------------------------------------------------------------------------
00069 //   Types
00070 //---------------------------------------------------------------------------
00071 
00072 //---------------------------------------------------------------------------
00073 //  Class
00074 //---------------------------------------------------------------------------
00075 
00079 class OSGScanParseLexer : public OSGScanParseSkel_FlexLexer
00080 {
00081   private:
00082 
00083     //-----------------------------------------------------------------------
00084     //   types                                                               
00085     //-----------------------------------------------------------------------
00086 
00087     typedef OSGScanParseSkel_FlexLexer Inherited;
00088 
00089   public:
00090 
00091     //-----------------------------------------------------------------------
00092     //   types                                                               
00093     //-----------------------------------------------------------------------
00094 
00095     //-----------------------------------------------------------------------
00096     //   constants                                                           
00097     //-----------------------------------------------------------------------
00098 
00099     //-----------------------------------------------------------------------
00100     //   enums                                                               
00101     //-----------------------------------------------------------------------
00102 
00103   private:
00104 
00105     //-----------------------------------------------------------------------
00106     //   enums                                                               
00107     //-----------------------------------------------------------------------
00108 
00109     //-----------------------------------------------------------------------
00110     //   types                                                               
00111     //-----------------------------------------------------------------------
00112 
00113     //-----------------------------------------------------------------------
00114     //   friend classes                                                      
00115     //-----------------------------------------------------------------------
00116 
00117     //-----------------------------------------------------------------------
00118     //   friend functions                                                    
00119     //-----------------------------------------------------------------------
00120 
00121     //-----------------------------------------------------------------------
00122     //   class variables                                                     
00123     //-----------------------------------------------------------------------
00124 
00125     //-----------------------------------------------------------------------
00126     //   class functions                                                     
00127     //-----------------------------------------------------------------------
00128 
00129     //-----------------------------------------------------------------------
00130     //   instance variables                                                  
00131     //-----------------------------------------------------------------------
00132 
00133     //-----------------------------------------------------------------------
00134     //   instance functions                                                  
00135     //-----------------------------------------------------------------------
00136 
00138     OSGScanParseLexer(const OSGScanParseLexer &source);
00140     void operator =(const OSGScanParseLexer &source);
00141 
00142   protected:
00143 
00144     //-----------------------------------------------------------------------
00145     //   enums                                                               
00146     //-----------------------------------------------------------------------
00147 
00148     //-----------------------------------------------------------------------
00149     //   types                                                               
00150     //-----------------------------------------------------------------------
00151 
00152     //-----------------------------------------------------------------------
00153     //   class variables                                                     
00154     //-----------------------------------------------------------------------
00155 
00156     //-----------------------------------------------------------------------
00157     //   class functions                                                     
00158     //-----------------------------------------------------------------------
00159 
00160     //-----------------------------------------------------------------------
00161     //   instance variables                                                  
00162     //-----------------------------------------------------------------------
00163 
00164     OSG::ScanParseSkelBase *_pSkelBase;
00165 
00166     OSG::Int32 expectToken;        
00167     OSG::Int32 parsing_mf;         
00168     OSG::Int32 sfImageIntsExpected;
00169     OSG::Int32 sfImageIntsParsed; 
00170 
00171     OSG::Int32 iCommentDepth;
00172     OSG::Int32 iLastState;
00173 
00174     //-----------------------------------------------------------------------
00175     //   instance functions                                                  
00176     //-----------------------------------------------------------------------
00177 
00178   public :
00179 
00180     //-----------------------------------------------------------------------
00181     //   class functions                                                     
00182     //-----------------------------------------------------------------------
00183 
00184     //-----------------------------------------------------------------------
00185     //   instance functions                                                  
00186     //-----------------------------------------------------------------------
00187 
00188     OSGScanParseLexer(OSG::ScanParseSkelBase *pSkelBase,
00189                       std::istream           *arg_yyin  = 0, 
00190                       std::ostream           *arg_yyout = 0);
00191 
00192     virtual ~OSGScanParseLexer(void); 
00193 
00194     /*------------------------- your_category -------------------------------*/
00195 
00196     virtual int yylex(void);
00197 
00198     /*------------------------- your_operators ------------------------------*/
00199 
00200     void expectType(OSG::Int32 iType);
00201         
00202     /*------------------------- assignment ----------------------------------*/
00203 
00204     /*------------------------- comparison ----------------------------------*/
00205 };
00206 
00207 //OSG_END_NAMESPACE
00208 
00209 #define OSGSCANPARSELEXER_HEADER_CVSID "@(#)$Id: $"
00210 
00211 #endif /* _OSGSCANPARSESKELLEXER_H_ */

Generated on Thu Aug 25 04:09:07 2005 for OpenSG by  doxygen 1.4.3