Language Change Specification for Selected Names for Types

LCS Number: LCS-2016-028
Version: 2
Date: 07-Feb-2017
Status: Request for Comments and/or Edits
Author: Jim Lewis
Email: Main.JimLewis
Source Doc: Selected Names for Types
History Doc: History
Summary: Selected Names for Types

Style Notes

[Author Comment: author comments are shown in green]

Text changes are shown in red

Deleted text is shown in red font with a strike thru

Details of Language Change

Section 8.1 General

Edit 28.1: production for name ... on page 107

name ::=
    simple_name
    | operator_symbol
    | character_literal
    | architecture_path_name
    | selected_name
    | indexed_name
    | slice_name
    | attribute_name
    | external_name

Edit 28.2: New section before 8.3

8.3 Architecture Path Names

An architecture path name is used to denote the simple name of an entity declaration and its associated architecture within a given design library.

    architecture_path_name ::= entity_simple_name ( architecture_simple_name) 

Section 8.3 Selected Names

Edit 28.3: Edit paragraph 6 on page 109

An expanded name denotes a primary unit contained in a design library if the prefix denotes the library and the suffix is the simple name of a primary unit whose declaration is contained in that library. An expanded name denotes all primary units contained in a library if the prefix denotes the library and the suffix is the reserved word all. An expanded name is not allowed for a package body. a secondary unit, particularly for an architecture body. With the exception of expanded names denoting types and subtypes, an expanded name is not allowed for an architecture body.

Edit 28.4: New paragraph following above paragraph on page 109

[Author Comment: Only intent is to reference types defined in the package and not interface type declarations ]

For an expanded name that denotes a type or subtype declared in a separate design unit, the suffix shall be a simple name denoting the type or subtype respectively. The prefix shall be an expanded name that denotes a primary unit contained in a design library. The prefix may also denote an architecture (using an architecture path name), a process, block statements, or generate statements. The type or subtype shall not be defined by an interface type declaration.

Section 12.2 Scope of Declarations

Edit 28.5: Note 2 on bottom of the page:

NOTE 2-The scope of an entity declaration includes an associated architecture body, if any. Thus, the entity name may be used within the architecture body as the prefix of an expanded name denoting a declaration that occurs immediately within the entity declaration or the architecture body. The scope of an architecture body does not include the corresponding entity declaration. Thus, the entity cannot use an expanded name to refer to the architecture body nor to any declaration within the architecture body. Thus an entity must use an expanded name that includes an architecture path name to refer to the architecture body or any other declaration within the architecture body.

Section 12.3 Visibility

Edit 28.6-1: Lettered list following item t) on page 188 add new item

u) For a type or subtype declaration defined in an architecture or a generate statement, a block statement, or a process contained in an architecture, at the place of the suffix in a selected name whose prefix includes the entire scope of the type declaration including library, entity name, architecture name, generate statement label, block statement label, and process label.

Edit 28.6-2

v) For an architecture body associated with a given entity declaration: at the place of an architecture identifier (between the parentheses) as part of a prefix whose final suffix is a type or subtype name identified in item u.

Edit 28.6-3

w) For a generate statement label, block statement label, or process label, at the place of a prefix in a selected name whose final suffix is a type or subtype name identified in item u.



Comments

Topic revision: r25 - 2017-07-22 - 20:41:39 - JimLewis
 
Copyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback