Changes in src/Parser/lex.ll [553772b:b6ad601]
- File:
-
- 1 edited
-
src/Parser/lex.ll (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/lex.ll
r553772b rb6ad601 10 10 * Created On : Sat Sep 22 08:58:10 2001 11 11 * Last Modified By : Peter A. Buhr 12 * Last Modified On : Wed May 15 21:25:27 201913 * Update Count : 70812 * 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"))? … … 226 217 char { KEYWORD_RETURN(CHAR); } 227 218 choose { KEYWORD_RETURN(CHOOSE); } // CFA 228 coerce { KEYWORD_RETURN(COERCE); } // CFA229 219 _Complex { KEYWORD_RETURN(COMPLEX); } // C99 230 220 __complex { KEYWORD_RETURN(COMPLEX); } // GCC … … 250 240 finally { KEYWORD_RETURN(FINALLY); } // CFA 251 241 float { KEYWORD_RETURN(FLOAT); } 252 __float80 { KEYWORD_RETURN(uuFLOAT80); } // GCC 253 float80 { KEYWORD_RETURN(uuFLOAT80); } // GCC 254 __float128 { KEYWORD_RETURN(uuFLOAT128); } // GCC 255 float128 { KEYWORD_RETURN(uuFLOAT128); } // GCC 256 _Float16 { FLOATXX(uFLOAT16); } // GCC 257 _Float32 { FLOATXX(uFLOAT32); } // GCC 258 _Float32x { FLOATXX(uFLOAT32X); } // GCC 259 _Float64 { FLOATXX(uFLOAT64); } // GCC 260 _Float64x { FLOATXX(uFLOAT64X); } // GCC 261 _Float128 { FLOATXX(uFLOAT128); } // GCC 262 _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 263 252 for { KEYWORD_RETURN(FOR); } 264 253 forall { KEYWORD_RETURN(FORALL); } // CFA 265 254 fortran { KEYWORD_RETURN(FORTRAN); } 266 255 ftype { KEYWORD_RETURN(FTYPE); } // CFA 267 generator { KEYWORD_RETURN(GENERATOR); } // CFA268 256 _Generic { KEYWORD_RETURN(GENERIC); } // C11 269 257 goto { KEYWORD_RETURN(GOTO); }
Note:
See TracChangeset
for help on using the changeset viewer.