00001 #ifndef SIGEL_ROBOTIO_SIG_SCANNER_H 00002 #define SIGEL_ROBOTIO_SIG_SCANNER_H 00003 00004 namespace SIGEL_RobotIO { class SIG_Scanner; } 00005 00006 #include <qstring.h> 00007 00008 namespace SIGEL_RobotIO { 00009 namespace Symbol { 00010 extern int const None; 00011 extern int const EOS; 00012 } 00013 00014 class SIG_Scanner { 00015 protected: 00016 QString text; 00017 int position, lineposition; 00018 QString currentSymbol; 00019 int currentSymType; 00020 public: 00021 SIG_Scanner (QString liesdas); 00022 virtual ~SIG_Scanner (void); 00023 00024 void skipWhiteSpace (void); 00025 virtual void nextSymbol (void) = 0; 00026 void peekSymbol (int & symType, QString & symbol); 00027 void readSymbol (int & symType, QString & symbol); 00028 int currentLine (void) const; 00029 }; 00030 } 00031 00032 #endif