kolibrios/contrib/media/updf/include/tokenizer.h
right-hearted 4f7ee97ec9 uPDF with buttons
git-svn-id: svn://kolibrios.org@4680 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-03-22 21:00:40 +00:00

45 lines
970 B
C++

/** \file tokenizer.h
* definitions of input output classes that read and write from string.
*/
#ifndef __tokenizer_h__
#define __tokenizer_h__
#include "yacasbase.h"
#include "lispstring.h"
#include "lispio.h"
#include "lisphash.h"
class LispTokenizer : public YacasBase
{
public:
LispTokenizer() : iToken() {}
/// NextToken returns a string representing the next token,
/// or an empty list.
virtual LispString * NextToken(LispInput& aInput,
LispHashTable& aHashTable);
virtual ~LispTokenizer(){}
protected:
LispString iToken; //Can be used as a token container.
};
class CommonLispTokenizer : public LispTokenizer
{
public:
virtual LispString * NextToken(LispInput& aInput,
LispHashTable& aHashTable);
};
// utility functions
LispBoolean IsDigit(LispChar c);
LispBoolean IsAlpha(LispChar c);
LispBoolean IsAlNum(LispChar c);
LispBoolean IsSymbolic(LispChar c);
#endif