00001 #include "value.h" 00002 #include "status.h" 00003 00004 class ParseText 00005 { 00006 private: 00007 char * fulltext; 00008 char * currptr; 00009 QString tokentext; 00010 Value * expression; 00011 typedef enum{text, var, openexpr, closeexpr, eof} Token; 00012 Token token(); 00013 Token string_to(unsigned char c); 00014 bool seperator(unsigned char c); 00015 void text_to(); 00016 void initText(QString text); 00017 Value * parse(); 00018 bool getLocation(QString text, int &C, int &R, bool &absolute_column, bool& absolute_row); 00019 Value * properVarType(QString tokentext); 00020 public: 00021 ParseText(QString input); 00022 void parse(QString text); 00023 Value * expr() {return expression;}; 00024 };