Skip to content

Commit

Permalink
refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
OlafRadicke committed Nov 17, 2011
1 parent ce6fc76 commit 3744fca
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 33 deletions.
85 changes: 53 additions & 32 deletions src/TexParser.cpp
Expand Up @@ -268,6 +268,27 @@ string TexParser::findAndRemoveCommentsSTD(const string &read_line)
return line;
}

// G =========================================================================

TexDocElement& TexParser::getDocumentElement(void)
{
for
(
list<TexDocElement>::iterator i = TexParser::rootElement.texDocElementsList.begin();
i != TexParser::rootElement.texDocElementsList.end();
i++)
{
int typ = i->getTexElementTyp();
if(typ == TexDocElement::DOCUMENT)
{
DBINF << "TexParser::DOCUMENT gefunden!\n";
return *i;
}
}
cerr << "[201111171814] No begin or end of document found." << endl;
throw;
}

// P =========================================================================

void TexParser::pars()
Expand Down Expand Up @@ -319,42 +340,42 @@ void TexParser::parsDocument(void)

void TexParser::parsInput(void)
{
TexDocElement& documentElement = TexParser::getDocumentElement();
for
(
list<TexDocElement>::iterator i = TexParser::rootElement.texDocElementsList.begin();
i != TexParser::rootElement.texDocElementsList.end();
i++)
{
int typ = i->getTexElementTyp();
if(typ == TexDocElement::DOCUMENT)
{
DBINF << "TexParser::DOCUMENT gefunden!\n";
TexParser::cutOutBeginEnd
(
*i,
string("verbatim"),
TexDocElement::VERBATIM
);
TexDocElement& childElement = *i;
for
(
list<TexDocElement>::iterator i2 = childElement.texDocElementsList.begin();
i2 != childElement.texDocElementsList.end();
i2++)
{
TexParser::cutOutShortElements
(
*i2,
string("input"),
TexDocElement::INPUT
);
}

} // end if(typ == TexDocElement::DOCUMENT)
} // end for

list<TexDocElement>::iterator i2 = documentElement.texDocElementsList.begin();
i2 != documentElement.texDocElementsList.end();
i2++)
{
TexParser::cutOutShortElements
(
*i2,
string("input"),
TexDocElement::INPUT
);
}
}


void TexParser::parsVerbatim(void)
{
TexDocElement& documentElement = TexParser::getDocumentElement();
for
(
list<TexDocElement>::iterator i2 = documentElement.texDocElementsList.begin();
i2 != documentElement.texDocElementsList.end();
i2++)
{
TexParser::cutOutShortElements
(
*i2,
string("input"),
TexDocElement::INPUT
);
}
}


// R ==========================================================================


Expand Down
12 changes: 11 additions & 1 deletion src/TexParser.h
Expand Up @@ -94,6 +94,12 @@ class TexParser
* @return Return a Stnin without comments.
*/
std::string findAndRemoveCommentsSTD(const std::string &read_line);

/**
* @throw string If the the Function not fount TexParser::DOCUMENT.
* @return Get back a TexDocElement with typ "TexParser::DOCUMENT".
*/
TexDocElement& getDocumentElement(void);

/**
* It's pars the Tex document of the part "document".
Expand All @@ -106,12 +112,16 @@ class TexParser
*/
void parsInput(void);

/**
* It's pars the Tex document of verbatim elements.
*/
void parsVerbatim(void);

/**
* Tread the imput file and copy to propertie completeDoc.
*/
void readImputFile(void);


};

#endif

0 comments on commit 3744fca

Please sign in to comment.