A3t
- Implemented ::findModifications to identify nodes that comprise the task modifications.
This commit is contained in:
21
src/A3t.cpp
21
src/A3t.cpp
@@ -135,6 +135,7 @@ Tree* A3t::parse ()
|
|||||||
findAttributeModifier ();
|
findAttributeModifier ();
|
||||||
findOperator ();
|
findOperator ();
|
||||||
findFilter ();
|
findFilter ();
|
||||||
|
findModifications ();
|
||||||
|
|
||||||
validate ();
|
validate ();
|
||||||
|
|
||||||
@@ -949,6 +950,26 @@ void A3t::findFilter ()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
void A3t::findModifications ()
|
||||||
|
{
|
||||||
|
bool after_writecmd = false;
|
||||||
|
std::vector <Tree*>::iterator i;
|
||||||
|
for (i = _tree->_branches.begin (); i != _tree->_branches.end (); ++i)
|
||||||
|
{
|
||||||
|
if ((*i)->hasTag ("WRITECMD"))
|
||||||
|
after_writecmd = true;
|
||||||
|
|
||||||
|
if (after_writecmd &&
|
||||||
|
! (*i)->hasTag ("CMD") &&
|
||||||
|
! (*i)->hasTag ("TERMINATOR") &&
|
||||||
|
! (*i)->hasTag ("BINARY") &&
|
||||||
|
! (*i)->hasTag ("RC") &&
|
||||||
|
! (*i)->hasTag ("CONFIG"))
|
||||||
|
(*i)->tag ("MODIFICATION");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// Validate the parse tree.
|
// Validate the parse tree.
|
||||||
void A3t::validate ()
|
void A3t::validate ()
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ private:
|
|||||||
void findAttributeModifier ();
|
void findAttributeModifier ();
|
||||||
void findOperator ();
|
void findOperator ();
|
||||||
void findFilter ();
|
void findFilter ();
|
||||||
|
void findModifications ();
|
||||||
void validate ();
|
void validate ();
|
||||||
|
|
||||||
// TODO Resolve aliases
|
// TODO Resolve aliases
|
||||||
|
|||||||
Reference in New Issue
Block a user