Changeset 9059213 for src/Parser/parser.yy
- Timestamp:
- Oct 19, 2016, 10:32:04 PM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 315f634, fe7b281
- Parents:
- c2183a3
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.yy
rc2183a3 r9059213 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Oct 5 14:10:46201613 // Update Count : 200 212 // Last Modified On : Wed Oct 19 22:19:33 2016 13 // Update Count : 2003 14 14 // 15 15 … … 278 278 // 279 279 // Cforall compounds this problem by introducing type names local to the scope of a declaration (for instance, those 280 // introduced through "forall" qualifiers), and by introducing "type generators" -- paramet rized types. This latter280 // introduced through "forall" qualifiers), and by introducing "type generators" -- parameterized types. This latter 281 281 // type name creates a third class of identifiers that must be distinguished by the scanner. 282 282 // 283 283 // Since the scanner cannot distinguish among the different classes of identifiers without some context information, it 284 // accesses a data structure ( the TypedefTable) to allow classification of an identifier that it has just read.285 // Semanticactions during the parser update this data structure when the class of identifiers change.284 // accesses a data structure (TypedefTable) to allow classification of an identifier that it has just read. Semantic 285 // actions during the parser update this data structure when the class of identifiers change. 286 286 // 287 287 // Because the Cforall language is block-scoped, there is the possibility that an identifier can change its class in a … … 289 289 // particular declaration, each declaration is itself a scope. This requires distinguishing between type names that are 290 290 // local to the current declaration scope and those that persist past the end of the declaration (i.e., names defined in 291 // "typedef" or " type" declarations).291 // "typedef" or "otype" declarations). 292 292 // 293 293 // The non-terminals "push" and "pop" derive the empty string; their only use is to denote the opening and closing of … … 431 431 field_name: 432 432 no_attr_identifier 433 // x.1, x.[0, 0.0] 433 434 | INTEGERconstant 434 435 ; … … 2723 2724 | multi_array_dimension type_specifier 2724 2725 { $$ = $2->addNewArray( $1 ); } 2726 2725 2727 | '[' ']' new_identifier_parameter_ptr 2726 2728 { $$ = $3->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
Note: See TracChangeset
for help on using the changeset viewer.