J3/04-348r1 To: J3 From: Malcolm Cohen Subject: Construct Name Local to Construct Date: 2004 August 12 One item of unfinished business from f03 is the issue of making construct names be local to the construct. This will allow, for example, a construct name to be repeated within a scoping unit. Number: Title: Construct Name Local to Construct Submitted By: J3 Status: For Consideration References: Basic Functionality: Make a construct name be local to its construct. Rationale: Construct names are only referenced from within the construct. Therefore, it makes sense to use a construct scope for the name. Further, within a local scope, a construct name might naturally be desirable more than once. For example, within a local scope, an if-block might naturally be named "check_iostat" following more than one statement containing an iostat specifier, or more than one do-construct might be naturally named "all_rows", "all_columns", or "all_planes", etc. Of course, for cycle and exit to work properly, nested constructs must all have names unique within the nest. Estimated Impact: 3 or 4. Detailed Specification: (1) Define a construct name to have construct scope. (2) Remove construct names from all local entity classes, so that it can be the same as any local name and any global name. (3) Nested constructs shall not have the same name. (Note: after removal from local entities, this needs to be explicitly stated in the standard.) Incomplete Illustrative Edits: [406:4-5] remove "named constructs," [409:29+] add new paragraph "The name of a named construct has a scope of that construct. It may be the same as any local identifier or global identifier. The of a contained named construct shall not be the same as a of any of its containing named constructs." History: Submitted as 04-108 and 04-158 at 167.