diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2019-03-27 16:06:24 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2019-03-27 16:13:55 +0100 |
commit | 5587a87c47c36f14ddcaac9e2df84c67897720be (patch) | |
tree | ff15be239670029b500f66c9a374e315c2fc4f5d | |
parent | c29c4fd4074b7c82bf24749487af3f1fb87a6451 (diff) | |
download | tracker-5587a87c47c36f14ddcaac9e2df84c67897720be.tar.gz |
libtracker-data: Handle doubles before other numeric types
Otherwise there are greediness issues as the definition of DECIMAL
fits within DOUBLE and wins over it, leaving the exponential part
out of the match.
Closes: https://gitlab.gnome.org/GNOME/tracker/issues/84
-rw-r--r-- | src/libtracker-data/tracker-sparql-grammar.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libtracker-data/tracker-sparql-grammar.h b/src/libtracker-data/tracker-sparql-grammar.h index d7c578b64..0dbbf2e62 100644 --- a/src/libtracker-data/tracker-sparql-grammar.h +++ b/src/libtracker-data/tracker-sparql-grammar.h @@ -569,7 +569,7 @@ static const TrackerGrammarRule rule_BooleanLiteral[] = { OR(helper_BooleanLiter * TRACKER EXTENSION: * The terminal PARAMETERIZED_VAR is additionally accepted */ -static const TrackerGrammarRule helper_NumericLiteralNegative_or[] = { T(DECIMAL_NEGATIVE), T(DOUBLE_NEGATIVE), T(INTEGER_NEGATIVE), T(PARAMETERIZED_VAR), NIL }; +static const TrackerGrammarRule helper_NumericLiteralNegative_or[] = { T(DOUBLE_NEGATIVE), T(DECIMAL_NEGATIVE), T(INTEGER_NEGATIVE), T(PARAMETERIZED_VAR), NIL }; static const TrackerGrammarRule rule_NumericLiteralNegative[] = { OR(helper_NumericLiteralNegative_or), NIL }; /* NumericLiteralPositive ::= INTEGER_POSITIVE | DECIMAL_POSITIVE | DOUBLE_POSITIVE @@ -577,7 +577,7 @@ static const TrackerGrammarRule rule_NumericLiteralNegative[] = { OR(helper_Nume * TRACKER EXTENSION: * The terminal PARAMETERIZED_VAR is additionally accepted */ -static const TrackerGrammarRule helper_NumericLiteralPositive_or[] = { T(DECIMAL_POSITIVE), T(DOUBLE_POSITIVE), T(INTEGER_POSITIVE), T(PARAMETERIZED_VAR), NIL }; +static const TrackerGrammarRule helper_NumericLiteralPositive_or[] = { T(DOUBLE_POSITIVE), T(DECIMAL_POSITIVE), T(INTEGER_POSITIVE), T(PARAMETERIZED_VAR), NIL }; static const TrackerGrammarRule rule_NumericLiteralPositive[] = { OR(helper_NumericLiteralPositive_or), NIL }; /* NumericLiteralUnsigned ::= INTEGER | DECIMAL | DOUBLE @@ -585,7 +585,7 @@ static const TrackerGrammarRule rule_NumericLiteralPositive[] = { OR(helper_Nume * TRACKER EXTENSION: * The terminal PARAMETERIZED_VAR is additionally accepted */ -static const TrackerGrammarRule helper_NumericLiteralUnsigned_or[] = { T(DECIMAL), T(DOUBLE), T(INTEGER), T(PARAMETERIZED_VAR), NIL }; +static const TrackerGrammarRule helper_NumericLiteralUnsigned_or[] = { T(DOUBLE), T(DECIMAL), T(INTEGER), T(PARAMETERIZED_VAR), NIL }; static const TrackerGrammarRule rule_NumericLiteralUnsigned[] = { OR(helper_NumericLiteralUnsigned_or), NIL }; /* NumericLiteral ::= NumericLiteralUnsigned | NumericLiteralPositive | NumericLiteralNegative |