21#include "json_scanner.cc"
23#include "qjson_debug.h"
24#include "json_scanner.h"
29#include <QtCore/QDebug>
30#include <QtCore/QRegExp>
35JSonScanner::JSonScanner(QIODevice* io)
36 : m_allowSpecialNumbers(false),
38 m_criticalError(false),
39 m_C_locale(QLocale::C)
44JSonScanner::~JSonScanner()
48void JSonScanner::allowSpecialNumbers(
bool allow) {
49 m_allowSpecialNumbers = allow;
52int JSonScanner::yylex(YYSTYPE* yylval,
yy::location *yylloc) {
58 if (m_criticalError) {
65int JSonScanner::LexerInput(
char* buf,
int max_size) {
66 if (!m_io->isOpen()) {
67 qCritical() <<
"JSonScanner::yylex - io device is not open";
68 m_criticalError =
true;
72 int readBytes = m_io->read(buf, max_size);
74 qCritical() <<
"JSonScanner::yylex - error while reading from io device";
75 m_criticalError =
true;
void step()
Reset initial location to final location.