QJson home page
Main Page
Related Pages
Namespaces
Classes
Files
File List
src
json_scanner.h
1
/* This file is part of QJson
2
*
3
* Copyright (C) 2008 Flavio Castelli <flavio.castelli@gmail.com>
4
*
5
* This library is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU Lesser General Public
7
* License version 2.1, as published by the Free Software Foundation.
8
*
9
*
10
* This library is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
* Lesser General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public License
16
* along with this library; see the file COPYING.LIB. If not, write to
17
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18
* Boston, MA 02110-1301, USA.
19
*/
20
21
#ifndef _JSON_SCANNER
22
#define _JSON_SCANNER
23
24
#include <fstream>
25
#include <string>
26
27
#include <QtCore/QIODevice>
28
#include <QtCore/QVariant>
29
30
#define YYSTYPE QVariant
31
32
#include "parser_p.h"
33
34
namespace
yy
{
35
class
location;
36
int
yylex(YYSTYPE *yylval,
yy::location
*yylloc, QJson::ParserPrivate* driver);
37
}
38
39
class
JSonScanner
40
{
41
public
:
42
explicit
JSonScanner(QIODevice* io);
43
int
yylex(YYSTYPE* yylval,
yy::location
*yylloc);
44
void
allowSpecialNumbers(
bool
allow);
45
46
protected
:
47
bool
m_quotmarkClosed;
48
bool
m_allowSpecialNumbers;
49
unsigned
int
m_quotmarkCount;
50
QIODevice* m_io;
51
};
52
53
#endif
54
yy::location
Abstract a location.
Definition:
location.hh:51
yy
Definition:
json_parser.cc:101
hosts this site.
Send comments to:
QJson Developers