bool Syntaxer::ParseSyntax(SyntaxTree* tree, FileScanner* fileScanner) { SyntaxNode* root = nullptr; if (!CreateSyntaxTree(root, fileScanner)) { return false; } tree->SetRoot(root); Debug::Log("\n" + Utility::Heading("Accept")); return true; }
BOOL CDFA::ConstructDFA() { BOOL bRet = FALSE; CHECK_BOOL ( CreateSyntaxTree() ); CHECK_BOOL ( m_pSyntaxNode->CalculateAllFunction() ); m_pSyntaxNode->ShowAllFunction(m_pSyntaxNode); CHECK_BOOL ( CreateDFA(m_pSyntaxNode) ); CHECK_BOOL ( MinimizeDFA(m_lstSet.size(), m_lstNodeRelation, m_setAcceptingIdx, m_lstFinalSet) ); assert(m_lstFinalSet.size() <= m_lstSet.size()); bRet = TRUE; Exit0: return bRet; }