[tracker/wip/carlosg/issue-84: 2/2] libtracker-data: Handle doubles before other numeric types



commit 5587a87c47c36f14ddcaac9e2df84c67897720be
Author: Carlos Garnacho <carlosg gnome org>
Date:   Wed Mar 27 16:06:24 2019 +0100

    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

 src/libtracker-data/tracker-sparql-grammar.h | 6 +++---
 1 file 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]