Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
freeopcua
tests
gmock
scripts
generator
cpp
keywords.py
Go to the documentation of this file.
1
#!/usr/bin/env python
2
#
3
# Copyright 2007 Neal Norwitz
4
# Portions Copyright 2007 Google Inc.
5
#
6
# Licensed under the Apache License, Version 2.0 (the "License");
7
# you may not use this file except in compliance with the License.
8
# You may obtain a copy of the License at
9
#
10
# http://www.apache.org/licenses/LICENSE-2.0
11
#
12
# Unless required by applicable law or agreed to in writing, software
13
# distributed under the License is distributed on an "AS IS" BASIS,
14
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
# See the License for the specific language governing permissions and
16
# limitations under the License.
17
18
"""C++ keywords and helper utilities for determining keywords."""
19
20
__author__ =
'nnorwitz@google.com (Neal Norwitz)'
21
22
23
try
:
24
# Python 3.x
25
import
builtins
26
except
ImportError:
27
# Python 2.x
28
import
builtins
as
builtins
29
30
31
if
not
hasattr(builtins,
'set'
):
32
# Nominal support for Python 2.3.
33
from
sets
import
Set
as
set
34
35
36
TYPES =
set
(
'bool char int long short double float void wchar_t unsigned signed'
.split())
37
TYPE_MODIFIERS =
set
(
'auto register const inline extern static virtual volatile mutable'
.split())
38
ACCESS =
set
(
'public protected private friend'
.split())
39
40
CASTS =
set
(
'static_cast const_cast dynamic_cast reinterpret_cast'
.split())
41
42
OTHERS =
set
(
'true false asm class namespace using explicit this operator sizeof'
.split())
43
OTHER_TYPES =
set
(
'new delete typedef struct union enum typeid typename template'
.split())
44
45
CONTROL =
set
(
'case switch default if else return goto'
.split())
46
EXCEPTION =
set
(
'try catch throw'
.split())
47
LOOP =
set
(
'while do for break continue'
.split())
48
49
ALL = TYPES | TYPE_MODIFIERS | ACCESS | CASTS | OTHERS | OTHER_TYPES | CONTROL | EXCEPTION | LOOP
50
51
52
def
IsKeyword
(token):
53
return
token
in
ALL
54
55
def
IsBuiltinType
(token):
56
if
token
in
(
'virtual'
,
'inline'
):
57
# These only apply to methods, they can't be types by themselves.
58
return
False
59
return
token
in
TYPES
or
token
in
TYPE_MODIFIERS
cpp.keywords.IsBuiltinType
def IsBuiltinType(token)
Definition:
keywords.py:55
cpp.gmock_class.set
set
Definition:
gmock_class.py:44
cpp.keywords.IsKeyword
def IsKeyword(token)
Definition:
keywords.py:52
ros_opcua_impl_freeopcua
Author(s): Denis Štogl
autogenerated on Tue Jan 19 2021 03:12:06