mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-07-07 20:06:36 +02:00
A3t
- ::findIDSequence now creates sub nodes.
This commit is contained in:
parent
81614dda84
commit
6c6c3df104
1 changed files with 63 additions and 3 deletions
66
src/A3t.cpp
66
src/A3t.cpp
|
@ -1074,13 +1074,73 @@ void A3t::findIdSequence ()
|
|||
|
||||
(*i)->unTag ("?");
|
||||
(*i)->tag ("ID");
|
||||
(*i)->tag ("EXPANDED");
|
||||
|
||||
Tree* branch = (*i)->addBranch (new Tree ("argSeq"));
|
||||
branch->attribute ("value", "(");
|
||||
branch->tag ("OP");
|
||||
|
||||
std::vector <std::pair <int, int> >::iterator r;
|
||||
for (r = ranges.begin (); r != ranges.end (); ++r)
|
||||
{
|
||||
Tree* branch = (*i)->addBranch (new Tree ("range"));
|
||||
branch->attribute ("min", r->first);
|
||||
branch->attribute ("max", r->second);
|
||||
if (r != ranges.begin ())
|
||||
{
|
||||
branch = (*i)->addBranch (new Tree ("argSeq"));
|
||||
branch->attribute ("value", "or");
|
||||
branch->tag ("OP");
|
||||
}
|
||||
|
||||
if (r->first == r->second)
|
||||
{
|
||||
branch = (*i)->addBranch (new Tree ("argSeq"));
|
||||
branch->attribute ("value", "id");
|
||||
|
||||
branch = (*i)->addBranch (new Tree ("argSeq"));
|
||||
branch->attribute ("value", "==");
|
||||
branch->tag ("OP");
|
||||
|
||||
branch = (*i)->addBranch (new Tree ("argSeq"));
|
||||
branch->attribute ("value", r->first);
|
||||
}
|
||||
else
|
||||
{
|
||||
branch = (*i)->addBranch (new Tree ("argSeq"));
|
||||
branch->attribute ("value", "(");
|
||||
branch->tag ("OP");
|
||||
|
||||
branch = (*i)->addBranch (new Tree ("argSeq"));
|
||||
branch->attribute ("value", "id");
|
||||
|
||||
branch = (*i)->addBranch (new Tree ("argSeq"));
|
||||
branch->attribute ("value", ">=");
|
||||
branch->tag ("OP");
|
||||
|
||||
branch = (*i)->addBranch (new Tree ("argSeq"));
|
||||
branch->attribute ("value", r->first);
|
||||
|
||||
branch = (*i)->addBranch (new Tree ("argSeq"));
|
||||
branch->attribute ("value", "and");
|
||||
branch->tag ("OP");
|
||||
|
||||
branch = (*i)->addBranch (new Tree ("argSeq"));
|
||||
branch->attribute ("value", "id");
|
||||
|
||||
branch = (*i)->addBranch (new Tree ("argSeq"));
|
||||
branch->attribute ("value", "<=");
|
||||
branch->tag ("OP");
|
||||
|
||||
branch = (*i)->addBranch (new Tree ("argSeq"));
|
||||
branch->attribute ("value", r->second);
|
||||
|
||||
branch = (*i)->addBranch (new Tree ("argSeq"));
|
||||
branch->attribute ("value", ")");
|
||||
branch->tag ("OP");
|
||||
}
|
||||
}
|
||||
|
||||
branch = (*i)->addBranch (new Tree ("argSeq"));
|
||||
branch->attribute ("value", ")");
|
||||
branch->tag ("OP");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue