top | up | prev | next

Project Class

Definition at line 18 of Project.hpp

Constructors

Project(bool verbose_, const std::string& xmlFilePath_)

Member Functions

void GenerateHtml()
void Link()
void ParseLexerFiles()
void Process()
void ReadGrammarFiles()
void ReadLexerFiles()
void ReadOutDir()
void ReadParserFiles()
void ReadStyleFilePath()

Member Variables

Domain domain
std::vector<std::unique_ptr<Grammar>> grammars
LexerContext lexerContext
std::vector<std::unique_ptr<LexerFile>> lexerFiles
std::unordered_map<LexerFile*, Grammar*> lexerGrammarMap
std::unordered_map<std::u32string, LexerFile*> lexerMap
std::unordered_map<Expression*, Rule*> lexerRuleMap
std::string outDir
std::vector<std::unique_ptr<ParserFile>> parserFiles
std::unordered_map<GrammarParser*, Grammar*> parserGrammarMap
std::unordered_map<RuleParser*, Rule*> parserRuleMap
std::string rootDir
std::u32string styleFilePath
bool verbose
std::unique_ptr<sngxml::dom::Document> xmlDoc
std::string xmlFilePath

Constructor Details

Project Constructor

sng2html::sng2html::Project::Project(bool verbose_, const std::string& xmlFilePath_)

Definition at line 24 of Project.cpp :
 24 :
 25 verbose(verbose_)xmlFilePath(xmlFilePath_)rootDir(Path::GetDirectoryName(GetFullPath(xmlFilePath)))xmlDoc(sngxml::dom::ReadDocument(xmlFilePath))
 26 lexerContext(IdentifierClassKind::unicode)
 27 {
 28 }


Declaration at line 21 of Project.hpp


Member Function Details

GenerateHtml Member Function

void sng2html::sng2html::Project::GenerateHtml()

Definition at line 307 of Project.cpp
Declaration at line 30 of Project.hpp

Calls: sng2html::sng2html::Domain::Accept , sng2html::sng2html::Grammar::AddRule

Called by: sng2html::sng2html::Project::Process


void sng2html::sng2html::Project::Link()

Definition at line 293 of Project.cpp :
294 {
295     LinkerVisitor visitor;
296     domain.Accept(visitor);
297 }


Declaration at line 28 of Project.hpp

Calls: sng2html::sng2html::Domain::Accept

Called by: sng2html::sng2html::Project::Process


ParseLexerFiles Member Function

void sng2html::sng2html::Project::ParseLexerFiles()

Definition at line 299 of Project.cpp :
300 {
301     for (auto& lexerFile : lexerFiles)
302     {
303         lexerFile->Parse(lexerContext);
304     }
305 }


Declaration at line 29 of Project.hpp

Called by: sng2html::sng2html::Project::Process


Process Member Function

void sng2html::sng2html::Project::Process()

Definition at line 30 of Project.cpp :
 31 {
 32     ReadLexerFiles();
 33     ReadParserFiles();
 34     ReadOutDir();
 35     ReadStyleFilePath();
 36     Link();
 37     ParseLexerFiles();
 38     ReadGrammarFiles();
 39     GenerateHtml();
 40 }


Declaration at line 22 of Project.hpp

Calls: sng2html::sng2html::Project::GenerateHtml , sng2html::sng2html::Project::Link , sng2html::sng2html::Project::ParseLexerFiles , sng2html::sng2html::Project::ReadGrammarFiles , sng2html::sng2html::Project::ReadLexerFiles , sng2html::sng2html::Project::ReadOutDir , sng2html::sng2html::Project::ReadParserFiles , sng2html::sng2html::Project::ReadStyleFilePath


ReadGrammarFiles Member Function

void sng2html::sng2html::Project::ReadGrammarFiles()

Definition at line 189 of Project.cpp
Declaration at line 27 of Project.hpp

Calls: sng2html::sng2html::Domain::GetParser , sng2html::sng2html::Expressions::Get , sng2html::sng2html::GrammarParser::GetRule , sng2html::sng2html::LexerFile::GetExpressions

Called by: sng2html::sng2html::Project::Process


ReadLexerFiles Member Function

void sng2html::sng2html::Project::ReadLexerFiles()

Definition at line 42 of Project.cpp
Declaration at line 23 of Project.hpp

Calls: LexerFileParser::Parse

Called by: sng2html::sng2html::Project::Process


ReadOutDir Member Function

void sng2html::sng2html::Project::ReadOutDir()

Definition at line 110 of Project.cpp
Declaration at line 25 of Project.hpp

Called by: sng2html::sng2html::Project::Process


ReadParserFiles Member Function

void sng2html::sng2html::Project::ReadParserFiles()

Definition at line 76 of Project.cpp
Declaration at line 24 of Project.hpp

Calls: ParserFileParser::Parse , sng2html::sng2html::Domain::AddParserFile

Called by: sng2html::sng2html::Project::Process


ReadStyleFilePath Member Function

void sng2html::sng2html::Project::ReadStyleFilePath()

Definition at line 148 of Project.cpp
Declaration at line 26 of Project.hpp

Called by: sng2html::sng2html::Project::Process


top | up | prev | next