ReactOS 0.4.15-dev-8109-gd7be748
iskeyword.cpp
Go to the documentation of this file.
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
11using std::string;
12
13bool iskeyword ( const string& ident )
14{
15#define I(s) if ( ident == #s ) return true;
16 switch ( ident[0] )
17 {
18 case '_':
19 I(__cdecl);
21 I(__except);
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}
#define __cdecl
Definition: accygwin.h:79
static HANDLE thread
Definition: service.c:33
#define __int8
Definition: basetyps.h:25
#define __int16
Definition: basetyps.h:22
#define __int64
Definition: basetyps.h:16
#define __int32
Definition: basetyps.h:19
__declspec(noinline) int TestFunc(int
Definition: ehthrow.cxx:232
Definition: msctf.idl:550
#define I(s)
bool iskeyword(const string &ident)
Definition: iskeyword.cpp:13
#define __fastcall
Definition: sync.c:38
int wmain()
#define __stdcall
Definition: typedefs.h:25
_In_ ULONG _In_ ULONG_PTR ident
Definition: winddi.h:3994