kDB: Knowledge DataBase
Loading...
Searching...
No Matches
kdb
kDB
RDFView
SML
Token_p.h
1
/*
2
* Copyright (c) 2008,2010,2015 Cyrille Berger <cberger@cberger.net>
3
*
4
*/
5
6
#ifndef _SML_TOKEN_H_
7
#define _SML_TOKEN_H_
8
9
#include <QString>
10
#include <sstream>
11
12
#include <knowCore/Curie.h>
13
14
namespace
kDB
15
{
16
namespace
RDFView
17
{
18
namespace
SML
19
{
20
struct
Token
21
{
25
enum
Type
26
{
27
// Not really token
28
UNFINISHED_STRING = -4,
29
END_OF_FILE = -3,
30
END_OF_LINE = -2,
31
UNKNOWN = -1,
32
// Special characters
33
SEMI
= 0,
34
COLON
,
35
COMA
,
36
DOT
,
37
STARTBRACE
,
38
ENDBRACE
,
39
STARTBRACKET
,
40
ENDBRACKET
,
41
STARTBOXBRACKET
,
42
ENDBOXBRACKET
,
43
EQUAL
,
44
QUESTION,
45
UNDERSCORECOLON
,
46
CIRCUMFLEXCIRCUMFLEX,
47
// Constants
48
FLOAT_CONSTANT,
49
INTEGER_CONSTANT,
50
STRING_CONSTANT,
51
URI_CONSTANT,
52
BINDING,
53
IDENTIFIER,
54
LANG_TAG,
55
CURIE_CONSTANT,
56
// Keywords
57
A,
58
AS,
59
BASE,
60
CONSTRAIN,
61
CONSTRUCT,
62
CREATE,
63
FROM,
64
PREFIX,
65
VIEW,
66
WITH,
67
TRUE,
68
FALSE,
69
// Not valid on SML:
70
LOAD_FILE
71
};
73
Type
type
;
75
int
line
;
77
int
column
;
79
QString
string
;
80
// Curie
81
knowCore::Curie
curie;
82
Token
();
83
Token
(
const
knowCore::Curie
& _curie,
int
_line,
int
_column);
87
Token
(
Type
_type,
int
_line,
int
_column);
91
Token
(
Type
_type,
const
QString& _string,
int
_line,
int
_column);
92
bool
isExpressionTerminal();
93
bool
isConstant()
const
;
94
bool
isPrimary()
const
;
95
static
QString typeToString(
Type
);
96
QString toString()
const
;
97
};
98
}
// namespace SML
99
}
// namespace RDFView
100
};
// namespace kDB
101
102
#include <knowCore/Formatter.h>
103
104
clog_format_declare_formatter(
kDB::RDFView::SML::Token::Type
)
105
{
106
return
format_to(ctx.out(),
"{}"
, kDB::RDFView::SML::Token::typeToString(p));
107
}
108
109
#endif
knowCore::Curie
Definition
Curie.h:22
kDB::RDFView::SML::Token
Definition
Token_p.h:21
kDB::RDFView::SML::Token::type
Type type
type of the token
Definition
Token_p.h:73
kDB::RDFView::SML::Token::string
QString string
String or identifier name.
Definition
Token_p.h:79
kDB::RDFView::SML::Token::line
int line
line of the token
Definition
Token_p.h:75
kDB::RDFView::SML::Token::Type
Type
Definition
Token_p.h:26
kDB::RDFView::SML::Token::STARTBRACE
@ STARTBRACE
{
Definition
Token_p.h:37
kDB::RDFView::SML::Token::UNDERSCORECOLON
@ UNDERSCORECOLON
< ?
Definition
Token_p.h:45
kDB::RDFView::SML::Token::EQUAL
@ EQUAL
=
Definition
Token_p.h:43
kDB::RDFView::SML::Token::STARTBRACKET
@ STARTBRACKET
(
Definition
Token_p.h:39
kDB::RDFView::SML::Token::COMA
@ COMA
,
Definition
Token_p.h:35
kDB::RDFView::SML::Token::ENDBRACE
@ ENDBRACE
}
Definition
Token_p.h:38
kDB::RDFView::SML::Token::COLON
@ COLON
:
Definition
Token_p.h:34
kDB::RDFView::SML::Token::DOT
@ DOT
Definition
Token_p.h:36
kDB::RDFView::SML::Token::SEMI
@ SEMI
;
Definition
Token_p.h:33
kDB::RDFView::SML::Token::STARTBOXBRACKET
@ STARTBOXBRACKET
[
Definition
Token_p.h:41
kDB::RDFView::SML::Token::ENDBRACKET
@ ENDBRACKET
)
Definition
Token_p.h:40
kDB::RDFView::SML::Token::ENDBOXBRACKET
@ ENDBOXBRACKET
]
Definition
Token_p.h:42
kDB::RDFView::SML::Token::column
int column
Column of the token.
Definition
Token_p.h:77
Generated by
1.12.0