00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CHANPARSE_H__
00020 #define __CHANPARSE_H__
00021
00022 #include <pandabase.h>
00023
00024 #include <string>
00025
00026 class EXPCL_PANDA ChanParseFunctor {
00027 public:
00028 INLINE ChanParseFunctor() {};
00029 virtual ~ChanParseFunctor();
00030
00031 virtual void operator()(std::string) = 0;
00032 };
00033
00034 int ChanMatchingParen(std::string);
00035 void ChanParse(istream&, ChanParseFunctor*);
00036
00037 INLINE void ChanEatFrontWhite(std::string&);
00038 INLINE void ChanCheckScoping(std::string&);
00039 INLINE void ChanDescope(std::string&);
00040 INLINE std::string ChanReadNextWord(std::string&);
00041 INLINE int ChanReadNextInt(std::string&);
00042 INLINE bool ChanReadNextBool(std::string&);
00043 INLINE int ChanReadNextIntB(std::string&);
00044 INLINE float ChanReadNextFloat(std::string&);
00045
00046 #include "chanparse.I"
00047
00048 #endif