Changes in src/Parser/parser.yy [413ad05:ab57786]
- File:
-
- 1 edited
-
src/Parser/parser.yy (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.yy
r413ad05 rab57786 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Aug 26 16:45:44201613 // Update Count : 19 6412 // Last Modified On : Mon Aug 22 14:15:15 2016 13 // Update Count : 1943 14 14 // 15 15 … … 54 54 #include "TypeData.h" 55 55 #include "LinkageSpec.h" 56 57 union DeclQualifiers { 58 unsigned int value; // assume 32-bits 59 struct { 60 bool Extern : 1; 61 bool Static : 1; 62 bool Auto : 1; 63 bool Register : 1; 64 bool Inline : 1; 65 bool Fortran : 1; 66 bool Noreturn : 1; 67 bool Threadlocal : 1; 68 bool Extension : 1; 69 bool Lvalue : 1; 70 bool Const : 1; 71 bool Volatile : 1; 72 bool Restrict : 1; 73 bool Atomic : 1; 74 } qual; 75 }; // DeclQualifiers 76 DeclQualifiers declQualifiers = { 0 }; 77 78 union DeclType { 79 unsigned int value; // assume 32-bits 80 struct { 81 bool Char : 1; 82 bool Bool : 1; 83 bool Short : 1; 84 bool Int : 1; 85 bool Float : 1; 86 bool Double : 1; 87 bool Long : 1; 88 bool Signed : 1; 89 bool Unsigned : 1; 90 bool Void : 1; 91 bool Complex : 1; 92 bool Imaginary : 1; 93 bool Valist : 1; 94 } type; 95 }; // DeclType 96 DeclType declTypes = { 0 }; 56 97 57 98 extern DeclarationNode * parseTree; … … 608 649 assignment_operator: 609 650 '=' { $$ = OperKinds::Assign; } 610 | ATassign { $$ = OperKinds::AtAssn; }611 651 | MULTassign { $$ = OperKinds::MulAssn; } 612 652 | DIVassign { $$ = OperKinds::DivAssn; } … … 1288 1328 type_qualifier_name 1289 1329 | attribute 1290 //{ $$ = DeclarationNode::newQualifier( DeclarationNode::Attribute ); }1330 //{ $$ = DeclarationNode::newQualifier( DeclarationNode::Attribute ); } 1291 1331 ; 1292 1332 … … 1342 1382 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 1343 1383 | INLINE // C99 1344 //{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 1345 { $$ = new DeclarationNode; $$->isInline = true; } 1384 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 1346 1385 | FORTRAN // C99 1347 1386 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 1348 1387 | NORETURN // C11 1349 //{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 1350 { $$ = new DeclarationNode; $$->isNoreturn = true; } 1388 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 1351 1389 | THREADLOCAL // C11 1352 1390 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } … … 2115 2153 asm_name_opt: // GCC 2116 2154 // empty 2117 | ASM '(' string_literal _list ')' attribute_list_opt { delete $3; } // FIX ME: unimplemented2155 | ASM '(' string_literal ')' attribute_list_opt 2118 2156 ; 2119 2157 … … 2144 2182 // empty 2145 2183 | any_word 2146 | any_word '(' comma_expression_opt ')' { delete $3; } // FIX ME: unimplemented2184 | any_word '(' comma_expression_opt ')' 2147 2185 ; 2148 2186 2149 2187 any_word: // GCC 2150 identifier_or_type_name { delete $1; } // FIX ME: unimplemented2151 | storage_class { delete $1; } // FIX ME: unimplemented2152 | basic_type_name { delete $1; } // FIX ME: unimplemented2153 | type_qualifier { delete $1; } // FIX ME: unimplemented2188 identifier_or_type_name { delete $1; } 2189 | storage_class { delete $1; } 2190 | basic_type_name { delete $1; } 2191 | type_qualifier { delete $1; } 2154 2192 ; 2155 2193
Note:
See TracChangeset
for help on using the changeset viewer.