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)->unTag ("?");
|
||||||
(*i)->tag ("ID");
|
(*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;
|
std::vector <std::pair <int, int> >::iterator r;
|
||||||
for (r = ranges.begin (); r != ranges.end (); ++r)
|
for (r = ranges.begin (); r != ranges.end (); ++r)
|
||||||
{
|
{
|
||||||
Tree* branch = (*i)->addBranch (new Tree ("range"));
|
if (r != ranges.begin ())
|
||||||
branch->attribute ("min", r->first);
|
{
|
||||||
branch->attribute ("max", r->second);
|
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