X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Flisp%2Flexer.hpp;h=f85c86e15f05c9d71abd6df11fee0f3ca4ef2e1f;hb=b029182b66e1f36e8eb7a1d8d23d26d475dec45f;hp=8128b13d7e6690c59ee48d6ddf74edc991341d1d;hpb=07ddaed2a657e4d2a3d038fed223fc5827159caf;p=supertux.git diff --git a/src/lisp/lexer.hpp b/src/lisp/lexer.hpp index 8128b13d7..f85c86e15 100644 --- a/src/lisp/lexer.hpp +++ b/src/lisp/lexer.hpp @@ -16,7 +16,6 @@ // 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - #ifndef __LISPLEXER_H__ #define __LISPLEXER_H__ @@ -37,7 +36,7 @@ public: TOKEN_TRUE, TOKEN_FALSE }; - + Lexer(std::istream& stream); ~Lexer(); @@ -46,21 +45,23 @@ public: { return token_string; } int getLineNumber() const { return linenumber; } - + private: enum { MAX_TOKEN_LENGTH = 16384, BUFFER_SIZE = 1024 }; - + inline void nextChar(); - + inline void addChar(); + std::istream& stream; bool eof; int linenumber; char buffer[BUFFER_SIZE+1]; char* bufend; - char* c; + char* bufpos; + int c; char token_string[MAX_TOKEN_LENGTH + 1]; int token_length; }; @@ -68,4 +69,3 @@ private: } // end of namespace lisp #endif -