55 : objFactory_(std::move(objFactory))
68 for (
auto& macro : knownMacros)
84 for (
auto& macro : undefinedNames)
95 for (
auto& macro : ignorableMacros)
106 for (
auto& apiDecor : knownApiDecor)
112 extern int GetKeywordId(
const std::string& keyword);
113 auto id = GetKeywordId(keyword);
134 auto cppCompound =
parseStream(stm.data(), stm.size());
137 cppCompound->name(filename);
143 std::ofstream out(filePathToSave);
156 if (stm ==
nullptr || stmSize == 0)
159 return ::parseStream(stm, stmSize);
Factory class to create various CppObj instances.
void addKnownMacros(const std::vector< std::string > &knownMacros)
void parseEnumBodyAsBlob()
void addKnownApiDecor(std::string knownApiDecor)
void addIgnorableMacros(const std::vector< std::string > &ignorableMacros)
void parseFunctionBodyAsBlob(bool asBlob)
void addUndefinedNames(const std::vector< std::string > &undefinedNames)
CppParser(CppObjFactoryPtr objFactory=nullptr)
CppObjFactoryPtr objFactory_
CppCompoundPtr parseStream(char *stm, size_t stmSize)
void addIgnorableMacro(std::string ignorableMacro)
void addDefinedName(std::string definedName, int value=0)
std::function< void(const char *errLineText, size_t lineNum, size_t errorStartPos, int lexerContext)> ErrorHandler
void addKnownApiDecors(const std::vector< std::string > &knownApiDecor)
CppCompoundPtr parseString(const std::string &filePathToSave, const std::string &content)
void addKnownMacro(std::string knownMacro)
void setErrorHandler(ErrorHandler errorHandler)
CppCompoundPtr parseFile(const std::string &filename)
void addUndefinedName(std::string undefinedName)
bool addRenamedKeyword(const std::string &keyword, std::string renamedKeyword)
std::unique_ptr< CppCompound > CppCompoundPtr
std::unique_ptr< CppObjFactory > CppObjFactoryPtr
std::set< std::string > gMacroNames
std::set< std::string > gKnownApiDecorNames
std::map< std::string, int > gDefinedNames
bool gParseFunctionBodyAsBlob
std::set< std::string > gIgnorableMacroNames
CppObjFactory * gObjFactory
std::map< std::string, int > gRenamedKeywords
std::set< std::string > gUndefinedNames
bool gParseEnumBodyAsBlob
std::string readFile(const std::string &filename)