![]() |
PhoenixGenerator
2.0.0
Set of tools to generate code
|
#include <iostream>
#include "class_attribute_utils.h"
#include "parserClassConfig.h"
#include "saveClassConfigTest.h"
#include "saveClassConfig.h"
Go to the source code of this file.
Functions | |
void | errorUnexpectedToken (const PFileParser &parser, const PString &token) |
Affiche une erreur de token non attendu. More... | |
PString | getClassName (PFileParser &parser) |
Get class name from parser. More... | |
bool | parseClassConfigAttribut (PClassConfig &config, PFileParser &parser, PString ¤tComment) |
Parse a PClassConfig. More... | |
bool | parseEnumConfig (std::vector< PClassConfig > &listClassConfig, PFileParser &parser, PString ¤tComment) |
Parse an enum definition. More... | |
bool | parseEnumValue (PClassConfig &config, PFileParser &parser, PString ¤tComment) |
Parse enum attribute value. More... | |
bool | parseParentOfClassConfig (PClassConfig &config, PFileParser &parser) |
Parse the parents of the PClassConfig. More... | |
bool | parsePClassConfig (std::vector< PClassConfig > &listClassConfig, PFileParser &parser, PString ¤tComment, PVecString &listTemplate) |
Parse a PClassConfig. More... | |
bool | parserClassConfig (std::vector< PClassConfig > &listClassConfig, PVecPath &listInclude, const PPath &fileName) |
Parser list class config. More... | |
bool | saveParserClassConfig (const PPath &baseFileNameOutput, const PPath &fileName, bool enableDataStream, bool enableTypeStream, bool enableUnitTest, const PPath &testParentDir, const PString &libName) |
Parser list class config. More... | |
bool | updateCurrentComment (PFileParser &parser, PString ¤tComment) |
Fonction qui met à jour un commentaire. More... | |
bool | updateCurrentTemplate (PFileParser &parser, PVecString ¤tTemplate) |
Update a template definition. More... | |
void errorUnexpectedToken | ( | const PFileParser & | parser, |
const PString & | token | ||
) |
Affiche une erreur de token non attendu.
parser | : file parser |
token | : token qui pose problème |
Definition at line 17 of file parserClassConfig.cpp.
References PFileParser::getFileName(), and PFileParser::getLine().
Referenced by parseEnumConfig(), parseParentOfClassConfig(), parsePClassConfig(), and parserClassConfig().
PString getClassName | ( | PFileParser & | parser | ) |
Get class name from parser.
parser | : PFileParser to be used |
Definition at line 26 of file parserClassConfig.cpp.
References PFileParser::getStrComposedOf().
Referenced by parseEnumConfig(), parseEnumValue(), parseParentOfClassConfig(), and parsePClassConfig().
bool parseClassConfigAttribut | ( | PClassConfig & | config, |
PFileParser & | parser, | ||
PString & | currentComment | ||
) |
Parse a PClassConfig.
[out] | config | : PClassConfig |
[out] | parser | : file parser |
[out] | currentComment | : current commet |
Definition at line 68 of file parserClassConfig.cpp.
References PClassConfig::addAttribute(), createClassAttribute(), PString::eraseChar(), PString::eraseFirstLastChar(), PFileParser::getUntilKeyWithoutPatern(), PFileParser::skipWhiteSpace(), and PString::split().
Referenced by parsePClassConfig().
bool parseEnumConfig | ( | std::vector< PClassConfig > & | listClassConfig, |
PFileParser & | parser, | ||
PString & | currentComment | ||
) |
Parse an enum definition.
[out] | listClassConfig | : list of PClassConfig |
[out] | parser | : file parser |
[out] | currentComment | : current comment |
Definition at line 133 of file parserClassConfig.cpp.
References errorUnexpectedToken(), getClassName(), PFileParser::getNextToken(), PFileParser::isEndOfFile(), PFileParser::isMatch(), PFileParser::isMatchToken(), parseEnumValue(), PClassConfig::setClassDocumentation(), PClassConfig::setIsEnum(), PClassConfig::setName(), PFileParser::skipWhiteSpace(), and updateCurrentComment().
Referenced by parserClassConfig().
bool parseEnumValue | ( | PClassConfig & | config, |
PFileParser & | parser, | ||
PString & | currentComment | ||
) |
Parse enum attribute value.
[out] | config | : PClassConfig |
[out] | parser | : file parser |
[out] | currentComment | : current commet |
Definition at line 114 of file parserClassConfig.cpp.
References PClassConfig::addAttribute(), createClassAttribute(), getClassName(), PFileParser::getStrComposedOf(), PFileParser::isMatch(), and PClassAttribute::setDefaultValue().
Referenced by parseEnumConfig().
bool parseParentOfClassConfig | ( | PClassConfig & | config, |
PFileParser & | parser | ||
) |
Parse the parents of the PClassConfig.
[out] | config | : PClassConfig |
[out] | parser | : file parser |
Definition at line 89 of file parserClassConfig.cpp.
References PClassConfig::addParentClass(), errorUnexpectedToken(), getClassName(), PFileParser::getNextToken(), PFileParser::isEndOfFile(), and PFileParser::isMatch().
Referenced by parsePClassConfig().
bool parsePClassConfig | ( | std::vector< PClassConfig > & | listClassConfig, |
PFileParser & | parser, | ||
PString & | currentComment, | ||
PVecString & | listTemplate | ||
) |
Parse a PClassConfig.
[out] | listClassConfig | : list of PClassConfig |
[out] | parser | : file parser |
[out] | currentComment | : current comment |
[out] | listTemplate | : list of the template to be used in the defined class |
Definition at line 169 of file parserClassConfig.cpp.
References errorUnexpectedToken(), getClassName(), PFileParser::getFileName(), PFileParser::getLine(), PClassConfig::getName(), PFileParser::getNextToken(), PFileParser::isEndOfFile(), PFileParser::isMatch(), parseClassConfigAttribut(), parseParentOfClassConfig(), PClassConfig::setClassDocumentation(), PClassConfig::setListTemplate(), PClassConfig::setName(), PFileParser::skipWhiteSpace(), and updateCurrentComment().
Referenced by parserClassConfig().
bool parserClassConfig | ( | std::vector< PClassConfig > & | listClassConfig, |
PVecPath & | listInclude, | ||
const PPath & | fileName | ||
) |
Parser list class config.
[out] | listClassConfig | : list of class config |
listInclude | : list of include | |
fileName | : file name of the config |
Definition at line 215 of file parserClassConfig.cpp.
References PString::eraseChar(), errorUnexpectedToken(), PFileParser::getNextToken(), PFileParser::getUntilKeyWithoutPatern(), PFileParser::isEndOfFile(), PFileParser::isMatch(), PFileParser::open(), parseEnumConfig(), parsePClassConfig(), PFileParser::setSeparator(), PFileParser::setWhiteSpace(), PFileParser::skipWhiteSpace(), updateCurrentComment(), and updateCurrentTemplate().
Referenced by project_wrapper_generator(), and saveParserClassConfig().
bool saveParserClassConfig | ( | const PPath & | baseFileNameOutput, |
const PPath & | fileName, | ||
bool | enableDataStream, | ||
bool | enableTypeStream, | ||
bool | enableUnitTest, | ||
const PPath & | testParentDir, | ||
const PString & | libName | ||
) |
Parser list class config.
baseFileNameOutput | : base of the output files |
fileName | : file name of the config |
enableDataStream | : true to enable the serialization/deserialization with data |
enableTypeStream | : true to test phoenix_getTypeName function |
enableUnitTest | : true to enable unit tests |
testParentDir | : parent directory of tests |
libName | : name of the generated library to link with |
Definition at line 253 of file parserClassConfig.cpp.
References PPath::getFileName(), parserClassConfig(), saveClassImplDecl(), and saveClassTest().
Referenced by project_generator().
bool updateCurrentComment | ( | PFileParser & | parser, |
PString & | currentComment | ||
) |
Fonction qui met à jour un commentaire.
parser | : file parser |
currentComment | : commentaire que l'on veut mettre à jour |
Definition at line 35 of file parserClassConfig.cpp.
References PFileParser::getUntilKey(), PFileParser::getUntilKeyWithoutPatern(), and PFileParser::isMatch().
Referenced by parseEnumConfig(), parsePClassConfig(), and parserClassConfig().
bool updateCurrentTemplate | ( | PFileParser & | parser, |
PVecString & | currentTemplate | ||
) |
Update a template definition.
parser | : file parser |
currentTemplate | : template to be updated |
Definition at line 53 of file parserClassConfig.cpp.
References PFileParser::getUntilKeyWithoutPaternRecurse(), PFileParser::isMatch(), and PString::split().
Referenced by parserClassConfig().