24 #ifndef __SCANNER_HPP__
25 #define __SCANNER_HPP__
89 const QString &str()
const;
90 void setStr(
const QString &v);
92 unsigned int number()
const;
93 void setNumber(
unsigned int v);
95 double decimal()
const;
96 void setDecimal(
double v);
99 void setBoolean(
bool v);
102 void setToken(
char v);
104 unsigned int tokenLine()
const;
105 void setTokenLine(
unsigned int v);
107 unsigned int tokenLinePosition()
const;
108 void setTokenLinePosition(
unsigned int v);
110 unsigned int scanPos()
const;
111 void setScanPos(
unsigned int v);
124 Scanner(
const char *data,
int length = -1);
132 void checkForWhitespace();
138 bool checkToken(
char token);
143 int currentLine()
const;
144 int currentLinePos()
const;
145 int currentPos()
const;
146 unsigned int currentScanPos()
const;
152 bool nextToken(
bool autoExpandState =
true);
153 void mustGetToken(
unsigned char token);
155 const char *scriptData()
const;
156 void scriptMessage(MessageLevel level,
const char *error, ...)
const;
157 void setScriptIdentifier(
const QString &ident);
159 ParserState &state();
160 const ParserState &state()
const;
165 bool tokensLeft()
const;
167 const ParserState &operator*()
const
171 const ParserState *operator->()
const
176 static const QString &escape(QString &str);
177 static const QString &unescape(QString &str);
179 static void setMessageHandler(
void (*handler)(MessageLevel,
const char *, va_list))
181 messageHandler = handler;
189 void incrementLine();
194 static void (*messageHandler)(MessageLevel,
const char *, va_list);