Main Page   Class Hierarchy   Compound List   File List   Compound Members  

InputCombiningRuleParser.h

00001 #ifndef INPUTCOMBININGRULEPARSER_H
00002 #define INPUTCOMBININGRULEPARSER_H
00003 
00004 #ifndef INCLUDED_GLARE_INPUTLIBRARYSET
00005 #define INCLUDED_GLARE_INPUTLIBRARYSET
00006 #include "InputLibrarySet.h"
00007 #endif
00008 
00009 #ifndef INCLUDED_STD_IOSFWD
00010 #define INCLUDED_STD_IOSFWD
00011 #include <iosfwd>
00012 #endif
00013 
00014 #ifndef INCLUDED_STD_MAP
00015 #define INCLUDED_STD_MAP
00016 #include <map>
00017 #endif
00018 
00019 #ifndef INCLUDED_STD_STRING
00020 #define INCLUDED_STD_STRING
00021 #include <string>
00022 #endif
00023 
00024 #ifndef INCLUDED_STD_VECTOR
00025 #define INCLUDED_STD_VECTOR
00026 #include <vector>
00027 #endif
00028 
00029 class InputDimension;
00030 class InputProperty;
00031 class InputFormat;
00032 
00036 class InputCombiningRuleParser
00037 {
00038 public:
00039 
00044   InputCombiningRuleParser( void );
00048   void parse( std::istream& p_istream );
00049 
00053   void validateState( void );
00054 
00058   const std::vector< InputLibrarySet* >& getInputLibrarySet( void );
00059 
00063   const std::vector< InputDimension* >& getInputDimension( void );
00064 
00068   const InputFormat* const getInputFormat( void );
00069 
00070 protected:
00071 
00072   void parseDimension( const std::vector< std::string >& p_tokens );
00073   void parseLibrarySet( const std::vector< std::string >& p_tokens );
00074   void parseDimensionFreeze( const std::vector< std::string >& p_tokens );
00075   void parseProperty( const std::vector< std::string >& p_tokens );
00076   void parseInputFormat( const std::vector< std::string >& p_tokens );
00077   const std::string m_TOKEN_DIMDEF;
00078   const std::string m_TOKEN_LIBDEF;
00079   const std::string m_TOKEN_COMMENT;
00080   const std::string m_TOKEN_DIMFREEZE;
00081   const std::string m_TOKEN_PROPDEF;
00082   const std::string m_TOKEN_INPUTDEF;
00083   std::vector< InputLibrarySet* > m_library_set;
00084   std::map< std::string, InputDimension* > m_fetch_dimension;
00085   std::vector< InputDimension* > m_input_dimension;
00086   std::map< std::string, InputProperty* > m_fetch_property;
00087   InputFormat* m_input_format;
00088 };
00089 
00090 #endif
00091 string, InputProperty* > m_fetch_property;
00092   InputFormat* m_input_format;
00093 };
00094 
00095 #endif

Generated on Sat Nov 4 15:58:59 2006 for GLARE by doxygen1.2.18