2 GTSAM Copyright 2010-2020, Georgia Tech Research Corporation, 3 Atlanta, Georgia 30332-0415 6 See LICENSE for the license information 8 Parser class and rules for parsing C++ enums. 13 from pyparsing
import delimitedList
15 from .tokens
import ENUM, IDENT, LBRACE, RBRACE, SEMI_COLON
16 from .type
import Typename
17 from .utils
import collect_namespaces
22 Rule to parse an enumerator inside an enum. 36 Rule to parse enums defined in the interface file. 47 rule = (ENUM +
IDENT(
"name") + LBRACE +
48 delimitedList(Enumerator.rule)(
"enumerators") + RBRACE +
49 SEMI_COLON).setParseAction(
lambda t:
Enum(t.name, t.enumerators))
51 def __init__(self, name, enumerators, parent=''):
57 """Get the namespaces which this class is nested under as a list.""" 62 Return a Typename with the namespaces and cpp name of this 66 namespaces_name.append(self.
name)
def __init__(self, name, enumerators, parent='')
def collect_namespaces(obj)
std::string format(const std::string &str, const std::vector< std::string > &find, const std::vector< std::string > &replace)