Ignore:
Timestamp:
Oct 19, 2016, 10:32:04 PM (8 years ago)
Author:
Peter A. Buhr <pabuhr@…>
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
Message:

small changes to bring me up to date

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.yy

    rc2183a3 r9059213  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Oct  5 14:10:46 2016
    13 // Update Count     : 2002
     12// Last Modified On : Wed Oct 19 22:19:33 2016
     13// Update Count     : 2003
    1414//
    1515
     
    278278//
    279279// 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" -- parametrized types.  This latter
     280// introduced through "forall" qualifiers), and by introducing "type generators" -- parameterized types.  This latter
    281281// type name creates a third class of identifiers that must be distinguished by the scanner.
    282282//
    283283// 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 // Semantic actions 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.
    286286//
    287287// Because the Cforall language is block-scoped, there is the possibility that an identifier can change its class in a
     
    289289// particular declaration, each declaration is itself a scope.  This requires distinguishing between type names that are
    290290// 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).
    292292//
    293293// The non-terminals "push" and "pop" derive the empty string; their only use is to denote the opening and closing of
     
    431431field_name:
    432432        no_attr_identifier
     433                // x.1, x.[0, 0.0]
    433434        | INTEGERconstant
    434435        ;
     
    27232724        | multi_array_dimension type_specifier
    27242725                { $$ = $2->addNewArray( $1 ); }
     2726
    27252727        | '[' ']' new_identifier_parameter_ptr
    27262728                { $$ = $3->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
Note: See TracChangeset for help on using the changeset viewer.