A3 Parsing

- Durations now parse at higher precedence than operators, so that durations
  like '-3d' are not parsed as '-' '3d'.
This commit is contained in:
Paul Beckingham 2011-08-14 00:55:53 -04:00
parent 3e58453693
commit 5a95b96631

View file

@ -715,6 +715,20 @@ const A3 A3::tokenize (const A3& input) const
found_something_after_sequence = true;
}
else if (n.getDate (date_format, t))
{
output.push_back (Arg (Date (t).toString (date_format), "date"));
if (found_sequence)
found_something_after_sequence = true;
}
else if (is_duration (n, s))
{
output.push_back (Arg (s, "duration"));
if (found_sequence)
found_something_after_sequence = true;
}
else if (n.getOneOf (operators, s))
{
output.push_back (Arg (s, "op"));
@ -759,20 +773,6 @@ const A3 A3::tokenize (const A3& input) const
found_something_after_sequence = true;
}
else if (n.getDate (date_format, t))
{
output.push_back (Arg (Date (t).toString (date_format), "date"));
if (found_sequence)
found_something_after_sequence = true;
}
else if (is_duration (n, s))
{
output.push_back (Arg (s, "duration"));
if (found_sequence)
found_something_after_sequence = true;
}
else if (is_id (n, s))
{
if (found_something_after_sequence)