Tokenizer.h 748 B

123456789101112131415161718192021222324252627282930
  1. #ifndef TOKENIZER_H
  2. #define TOKENIZER_H
  3. #include <string>
  4. #include "ArrayList.h"
  5. #include "Token.h"
  6. using namespace std;
  7. class Tokenizer
  8. {
  9. public:
  10. Tokenizer(string s);
  11. Tokenizer(const Tokenizer& orig);
  12. virtual ~Tokenizer();
  13. void tokenize(ArrayList<Token*>& tokens);
  14. private:
  15. string data;
  16. int pos;
  17. int line;
  18. int length;
  19. void tokenize(ArrayList<Token*>& tokens, char c, Tokens::Type type1, Tokens::Type type2);
  20. void tokenize(ArrayList<Token*>& tokens, Tokens::Type type1, char c2, Tokens::Type type2, char c3, Tokens::Type type3);
  21. void tokenize(ArrayList<Token*>& tokens, Tokens::Type type1, char c2, char c3, Tokens::Type type2, Tokens::Type type3, char c4, Tokens::Type type4);
  22. };
  23. #endif