Changes in src/Parser/lex.ll [533804b:5b2edbc]
- File:
-
- 1 edited
-
src/Parser/lex.ll (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/lex.ll
r533804b r5b2edbc 10 10 * Created On : Sat Sep 22 08:58:10 2001 11 11 * Last Modified By : Peter A. Buhr 12 * Last Modified On : Wed Jul 12 18:04:44201713 * Update Count : 5 3512 * Last Modified On : Tue Aug 22 22:43:39 2017 13 * Update Count : 558 14 14 */ 15 15 16 16 %option yylineno 17 %option noyywrap 17 18 %option nounput 18 19 … … 44 45 #define NUMERIC_RETURN(x) rm_underscore(); RETURN_VAL( x ) // numeric constant 45 46 #define KEYWORD_RETURN(x) RETURN_CHAR( x ) // keyword 47 #define QKEYWORD_RETURN(x) typedefTable.isKind( yytext ); RETURN_VAL(x); // quasi-keyword 46 48 #define IDENTIFIER_RETURN() RETURN_VAL( typedefTable.isKind( yytext ) ) 47 49 #define ATTRIBUTE_RETURN() RETURN_VAL( ATTR_IDENTIFIER ) … … 125 127 op_unary {op_unary_only}|{op_unary_binary}|{op_unary_pre_post} 126 128 127 op_binary_only "/"|"%"|" ^"|"&"|"|"|"<"|">"|"="|"=="|"!="|"<<"|">>"|"<="|">="|"+="|"-="|"*="|"/="|"%="|"&="|"|="|"^="|"<<="|">>="129 op_binary_only "/"|"%"|"\\"|"^"|"&"|"|"|"<"|">"|"="|"=="|"!="|"<<"|">>"|"<="|">="|"+="|"-="|"*="|"/="|"%="|"\\="|"&="|"|="|"^="|"<<="|">>=" 128 130 op_binary_over {op_unary_binary}|{op_binary_only} 129 131 // op_binary_not_over "?"|"->"|"."|"&&"|"||"|"@=" … … 136 138 137 139 %% 138 /* line directives */140 /* line directives */ 139 141 ^{h_white}*"#"{h_white}*[0-9]+{h_white}*["][^"\n]+["].*"\n" { 140 142 /* " stop highlighting */ … … 232 234 int { KEYWORD_RETURN(INT); } 233 235 __int128 { KEYWORD_RETURN(INT); } // GCC 236 __int128_t { KEYWORD_RETURN(INT); } // GCC 234 237 __label__ { KEYWORD_RETURN(LABEL); } // GCC 235 238 long { KEYWORD_RETURN(LONG); } 239 lvalue { KEYWORD_RETURN(LVALUE); } // CFA 236 240 monitor { KEYWORD_RETURN(MONITOR); } // CFA 237 241 mutex { KEYWORD_RETURN(MUTEX); } // CFA … … 258 262 throw { KEYWORD_RETURN(THROW); } // CFA 259 263 throwResume { KEYWORD_RETURN(THROWRESUME); } // CFA 264 timeout { QKEYWORD_RETURN(TIMEOUT); } // CFA 260 265 trait { KEYWORD_RETURN(TRAIT); } // CFA 261 266 try { KEYWORD_RETURN(TRY); } // CFA … … 265 270 __typeof { KEYWORD_RETURN(TYPEOF); } // GCC 266 271 __typeof__ { KEYWORD_RETURN(TYPEOF); } // GCC 272 __uint128_t { KEYWORD_RETURN(INT); } // GCC 267 273 union { KEYWORD_RETURN(UNION); } 268 274 unsigned { KEYWORD_RETURN(UNSIGNED); } 269 275 __builtin_va_list { KEYWORD_RETURN(VALIST); } // GCC 276 virtual { KEYWORD_RETURN(VIRTUAL); } // CFA 270 277 void { KEYWORD_RETURN(VOID); } 271 278 volatile { KEYWORD_RETURN(VOLATILE); } 272 279 __volatile { KEYWORD_RETURN(VOLATILE); } // GCC 273 280 __volatile__ { KEYWORD_RETURN(VOLATILE); } // GCC 281 waitfor { KEYWORD_RETURN(WAITFOR); } 282 or { QKEYWORD_RETURN(WOR); } // CFA 283 when { KEYWORD_RETURN(WHEN); } 274 284 while { KEYWORD_RETURN(WHILE); } 275 285 with { KEYWORD_RETURN(WITH); } // CFA … … 284 294 285 295 /* numeric constants */ 286 "0" { NUMERIC_RETURN(ZERO); } // CFA287 "1" { NUMERIC_RETURN(ONE); } // CFA288 296 {decimal_constant} { NUMERIC_RETURN(INTEGERconstant); } 289 297 {octal_constant} { NUMERIC_RETURN(INTEGERconstant); } … … 336 344 "-" { ASCIIOP_RETURN(); } 337 345 "*" { ASCIIOP_RETURN(); } 346 "\\" { ASCIIOP_RETURN(); } // CFA, exponentiation 338 347 "/" { ASCIIOP_RETURN(); } 339 348 "%" { ASCIIOP_RETURN(); } … … 360 369 "+=" { NAMEDOP_RETURN(PLUSassign); } 361 370 "-=" { NAMEDOP_RETURN(MINUSassign); } 371 "\\=" { NAMEDOP_RETURN(EXPassign); } // CFA, exponentiation 362 372 "*=" { NAMEDOP_RETURN(MULTassign); } 363 373 "/=" { NAMEDOP_RETURN(DIVassign); } … … 414 424 415 425 /* unknown characters */ 416 . { printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); }426 . { printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); } 417 427 418 428 %%
Note:
See TracChangeset
for help on using the changeset viewer.