diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | ce599e4f9f94b4eb00c1b5edb85bce5431ab3df2 (patch) | |
tree | d3bb9f5d25a2dc09ca81adecf39621d871534297 /kturtle/src/lexer.h | |
download | tdeedu-ce599e4f9f94b4eb00c1b5edb85bce5431ab3df2.tar.gz tdeedu-ce599e4f9f94b4eb00c1b5edb85bce5431ab3df2.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeedu@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kturtle/src/lexer.h')
-rw-r--r-- | kturtle/src/lexer.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/kturtle/src/lexer.h b/kturtle/src/lexer.h new file mode 100644 index 00000000..49317f8e --- /dev/null +++ b/kturtle/src/lexer.h @@ -0,0 +1,59 @@ +/* + Copyright (C) 2003 by Walter Schreppers + Copyright (C) 2004 by Cies Breijs + + This program is free software; you can redistribute it and/or + modify it under the terms of version 2 of the GNU General Public + License as published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + + +#ifndef _LEXER_H_ +#define _LEXER_H_ + +#include <qmap.h> +#include <qstring.h> +#include <qtextstream.h> + +#include "token.h" +#include "translate.h" +#include "value.h" + + +class Lexer +{ + public: + Lexer(QTextIStream&); + ~Lexer() {} + + Token lex(); // returns the next Token, skipping spaces + + + private: + QChar getChar(); + void ungetChar(QChar); + int getWord(QString&); + void skipSpaces(); + void setTokenType(Token&); + int getNumber(Value&, QString&); + void getString(Token&); + + QTextIStream *inputStream; + Translate *translate; + uint row, col, prevCol; + QChar putBackChar; +}; + + +#endif // _LEXER_H_ + + |