Changes in src/Parser/lex.ll [0a616e0:b6ad601]
- File:
-
- 1 edited
-
src/Parser/lex.ll (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/lex.ll
r0a616e0 rb6ad601 10 10 * Created On : Sat Sep 22 08:58:10 2001 11 11 * Last Modified By : Peter A. Buhr 12 * Last Modified On : Sun Mar 10 09:13:09 201913 * Update Count : 70612 * Last Modified On : Thu Nov 1 20:57:35 2018 13 * Update Count : 687 14 14 */ 15 15 … … 39 39 using namespace std; 40 40 41 #include "config.h" // configure info42 41 #include "ParseNode.h" 43 42 #include "TypedefTable.h" … … 60 59 #define IDENTIFIER_RETURN() RETURN_VAL( typedefTable.isKind( yytext ) ) 61 60 #define ATTRIBUTE_RETURN() RETURN_VAL( ATTR_IDENTIFIER ) 62 63 #ifdef HAVE_KEYWORDS_FLOATXX // GCC >= 7 => keyword, otherwise typedef64 #define FLOATXX(v) KEYWORD_RETURN(v);65 #else66 #define FLOATXX(v) IDENTIFIER_RETURN();67 #endif // HAVE_KEYWORDS_FLOATXX68 61 69 62 void rm_underscore() { … … 99 92 hex_quad {hex}("_"?{hex}){3} 100 93 size_opt (8|16|32|64|128)? 101 // CFA: explicit l8/l16/l32/l64/l128, char 'hh', short 'h', int 'n' 102 length ("ll"|"LL"|[lL]{size_opt})|("hh"|"HH"|[hHnN]) 103 // CFA: size_t 'z', pointer 'p', which define a sign and length 104 integer_suffix_opt ("_"?(([uU]({length}?[iI]?)|([iI]{length}))|([iI]({length}?[uU]?)|([uU]{length}))|({length}([iI]?[uU]?)|([uU][iI]))|[zZ]|[pP]))? 94 length ("ll"|"LL"|[lL]{size_opt})|("hh"|"HH"|[hH]) 95 integer_suffix_opt ("_"?(([uU]({length}?[iI]?)|([iI]{length}))|([iI]({length}?[uU]?)|([uU]{length}))|({length}([iI]?[uU]?)|([uU][iI]))|[zZ]))? 105 96 106 97 octal_digits ({octal})|({octal}({octal}|"_")*{octal}) … … 121 112 // GCC: D (double) and iI (imaginary) suffixes, and DL (long double) 122 113 exponent "_"?[eE]"_"?[+-]?{decimal_digits} 123 floating_size 16|32|32x|64|64x|80|128|128x124 floating_length ([fFdDlL wWqQ]|[fF]{floating_size})114 floating_size 32|64|80|128 115 floating_length ([fFdDlL]|[lL]{floating_size}) 125 116 floating_suffix ({floating_length}?[iI]?)|([iI]{floating_length}) 126 117 floating_suffix_opt ("_"?({floating_suffix}|"DL"))? … … 249 240 finally { KEYWORD_RETURN(FINALLY); } // CFA 250 241 float { KEYWORD_RETURN(FLOAT); } 251 __float80 { KEYWORD_RETURN(uuFLOAT80); } // GCC 252 float80 { KEYWORD_RETURN(uuFLOAT80); } // GCC 253 __float128 { KEYWORD_RETURN(uuFLOAT128); } // GCC 254 float128 { KEYWORD_RETURN(uuFLOAT128); } // GCC 255 _Float16 { FLOATXX(uFLOAT16); } // GCC 256 _Float32 { FLOATXX(uFLOAT32); } // GCC 257 _Float32x { FLOATXX(uFLOAT32X); } // GCC 258 _Float64 { FLOATXX(uFLOAT64); } // GCC 259 _Float64x { FLOATXX(uFLOAT64X); } // GCC 260 _Float128 { FLOATXX(uFLOAT128); } // GCC 261 _Float128x { FLOATXX(uFLOAT128); } // GCC 242 _Float32 { KEYWORD_RETURN(FLOAT); } // GCC 243 _Float32x { KEYWORD_RETURN(FLOAT); } // GCC 244 _Float64 { KEYWORD_RETURN(DOUBLE); } // GCC 245 _Float64x { KEYWORD_RETURN(DOUBLE); } // GCC 246 __float80 { KEYWORD_RETURN(FLOAT80); } // GCC 247 float80 { KEYWORD_RETURN(FLOAT80); } // GCC 248 _Float128 { KEYWORD_RETURN(FLOAT128); } // GCC 249 _Float128x { KEYWORD_RETURN(FLOAT128); } // GCC 250 __float128 { KEYWORD_RETURN(FLOAT128); } // GCC 251 float128 { KEYWORD_RETURN(FLOAT128); } // GCC 262 252 for { KEYWORD_RETURN(FOR); } 263 253 forall { KEYWORD_RETURN(FORALL); } // CFA
Note:
See TracChangeset
for help on using the changeset viewer.