Index: src/Parser/lex.ll
===================================================================
--- src/Parser/lex.ll	(revision de9285fd77cb505d1ca919eafe89c1dae646e3ff)
+++ src/Parser/lex.ll	(revision f4b77f2c2ec31137962516eadcbdd520492365d2)
@@ -10,6 +10,6 @@
  * Created On       : Sat Sep 22 08:58:10 2001
  * Last Modified By : Peter A. Buhr
- * Last Modified On : Sun Sep 10 11:15:37 2017
- * Update Count     : 617
+ * Last Modified On : Sun Sep 10 22:29:15 2017
+ * Update Count     : 620
  */
 
@@ -108,7 +108,8 @@
 
 				// GCC: D (double) and iI (imaginary) suffixes, and DL (long double)
-floating_suffix_opt ("_"?(([fFdDlL]?[iI]?)|([iI][lLfFdD])|"DL"))?{user_suffix_opt}
+exponent "_"?[eE]"_"?[+-]?{decimal_digits}
+floating_suffix ([fFdDlL]?[iI]?)|([iI][lLfFdD])
+floating_suffix_opt ("_"?({floating_suffix}|"DL"))?{user_suffix_opt}
 decimal_digits ({decimal})|({decimal}({decimal}|"_")*{decimal})
-exponent "_"?[eE]"_"?[+-]?{decimal_digits}
 floating_decimal {decimal_digits}"."{exponent}?{floating_suffix_opt}
 floating_fraction "."{decimal_digits}{exponent}?{floating_suffix_opt}
@@ -116,6 +117,7 @@
 
 binary_exponent "_"?[pP]"_"?[+-]?{decimal_digits}
+hex_floating_suffix_opt ("_"?({floating_suffix}))?{user_suffix_opt}
 hex_floating_fraction ({hex_digits}?"."{hex_digits})|({hex_digits}".")
-hex_floating_constant {hex_prefix}(({hex_floating_fraction}{binary_exponent})|({hex_digits}{binary_exponent})){floating_suffix_opt}
+hex_floating_constant {hex_prefix}(({hex_floating_fraction}{binary_exponent})|({hex_digits}{binary_exponent})){hex_floating_suffix_opt}
 
 				// character escape sequence, GCC: \e => esc character
