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