projects
/
reactos.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Incorporate rosapps. 0.3.15 was branched somewhat incorrectly so rosapps is not synce...
[reactos.git]
/
modules
/
rosapps
/
applications
/
sysutils
/
utils
/
sdkparse
/
iskeyword.cpp
1
// iskeyword.cpp
2
3
#ifdef _MSC_VER
4
#pragma warning ( disable : 4786 )
5
#endif
//_MSC_VER
6
7
#include <string>
8
9
#include
"iskeyword.h"
10
11
using
std
::
string
;
12
13
bool
iskeyword
(
const
string
&
ident
)
14
{
15
#define I(s) if ( ident == #s ) return true;
16
switch
(
ident
[
0
] )
17
{
18
case
'_'
:
19
I
(
__cdecl
);
20
I
(
__declspec
);
21
I
(
__except
);
22
I
(
__fastcall
);
23
I
(
__finally
);
24
I
(
__inline
);
25
I
(
__int8
);
26
I
(
__int16
);
27
I
(
__int32
);
28
I
(
__int64
);
29
I
(
__leave
);
30
I
(
__stdcall
);
31
I
(
__try
);
32
break
;
33
case
'b'
:
34
I
(
bool
);
35
I
(
break
);
36
break
;
37
case
'c'
:
38
I
(
case
);
39
I
(
catch
);
40
I
(
char
);
41
I
(
class
);
42
I
(
const
);
43
I
(
const_cast
);
44
I
(
continue
);
45
break
;
46
case
'd'
:
47
I
(
default
);
48
I
(
delete
);
49
I
(
dllexport
);
50
I
(
dllimport
);
51
I
(
do
);
52
I
(
double
);
53
I
(
dynamic_cast
);
54
break
;
55
case
'e'
:
56
I
(
else
);
57
I
(
enum
);
58
I
(
explicit
);
59
I
(
extern
);
60
break
;
61
case
'f'
:
62
I
(
false
);
63
I
(
float
);
64
I
(
for
);
65
I
(
friend
);
66
break
;
67
case
'g'
:
68
I
(
goto
);
69
break
;
70
case
'i'
:
71
I
(
if
);
72
I
(
inline
);
73
I
(
int
);
74
break
;
75
case
'l'
:
76
I
(
long
);
77
break
;
78
case
'm'
:
79
I
(
mutable
);
80
break
;
81
case
'n'
:
82
I
(
naked
);
83
I
(
namespace
);
84
I
(
new
);
85
I
(
noreturn
);
86
break
;
87
case
'o'
:
88
I
(
operator
);
89
break
;
90
case
'p'
:
91
I
(
private
);
92
I
(
protected
);
93
I
(
public
);
94
break
;
95
case
'r'
:
96
I
(
register
);
97
I
(
reinterpret_cast
);
98
I
(
return
);
99
break
;
100
case
's'
:
101
I
(
short
);
102
I
(
signed
);
103
I
(
sizeof
);
104
I
(
static
);
105
I
(
static_cast
);
106
I
(
struct
);
107
I
(
switch
);
108
break
;
109
case
't'
:
110
I
(
template
);
111
I
(
this
);
112
I
(
thread
);
113
I
(
throw
);
114
I
(
true
);
115
I
(
try
);
116
I
(
typedef
);
117
I
(
typeid
);
118
I
(
typename
);
119
break
;
120
case
'u'
:
121
I
(
union
);
122
I
(
unsigned
);
123
I
(
using
);
124
I
(
uuid
);
125
I
(
__uuidof
);
126
break
;
127
case
'v'
:
128
I
(
virtual
);
129
I
(
void
);
130
I
(
volatile
);
131
break
;
132
case
'w'
:
133
I
(
wmain
);
134
I
(
while
);
135
break
;
136
}
137
return false
;
138
}