#ifndef _SQLEXER_H_
#define _SQLEXER_H_
-#define MAX_STRING 2024
-
-
+#ifdef SQUNICODE
+typedef SQChar LexChar;
+#else
+typedef unsigned char LexChar;
+#endif
struct SQLexer
{
~SQLexer();
void Init(SQSharedState *ss,SQLEXREADFUNC rg,SQUserPointer up,CompilerErrorFunc efunc,void *ed);
void Error(const SQChar *err);
- int Lex();
- const SQChar *Tok2Str(int tok);
+ SQInteger Lex();
+ const SQChar *Tok2Str(SQInteger tok);
private:
- int GetIDType(SQChar *s);
- int ReadString(int ndelim,bool verbatim);
- int ReadNumber();
+ SQInteger GetIDType(SQChar *s);
+ SQInteger ReadString(SQInteger ndelim,bool verbatim);
+ SQInteger ReadNumber();
void LexBlockComment();
- int ReadID();
+ SQInteger ReadID();
void Next();
- int _curtoken;
+ SQInteger _curtoken;
SQTable *_keywords;
public:
- int _prevtoken;
- int _currentline;
- int _lasttokenline;
- int _currentcolumn;
+ SQInteger _prevtoken;
+ SQInteger _currentline;
+ SQInteger _lasttokenline;
+ SQInteger _currentcolumn;
const SQChar *_svalue;
SQInteger _nvalue;
SQFloat _fvalue;
SQLEXREADFUNC _readf;
SQUserPointer _up;
-#ifdef _UNICODE
- SQChar _currdata;
-#else
- unsigned char _currdata;
-#endif
+ LexChar _currdata;
SQSharedState *_sharedstate;
sqvector<SQChar> _longstr;
CompilerErrorFunc _errfunc;