TWiki
>
P1076 Web
>
Vhdl2019CollectedRequirements
>
RecordMemberAttribute
>
TopLCS2016_069a
(revision 4) (raw view)
Edit
Attach
---+!! Language Change Specification for Record Introspection & Indexing ----+!! Primary LCS: This LCS details changes to a record declaration and selected name definition in order to provide introspection of record types. %TOC% | <sticky><b>LCS Number:</b></sticky> | LCS-2016-069a | | <sticky><b>Version:</b></sticky> | 1 | | <sticky><b>Date:</b></sticky> | 13-Jan-17 | | <sticky><b>Status:</b></sticky> | Draft | | <sticky><b>Author:</b></sticky> | [[Main.BrentHahoe][Brent Hayhoe]] | | <sticky><b>Email:</b></sticky> | %USERINFO{"BrentHahoe" format="$emails"}% | | <sticky><b>Source Doc:</b></sticky> | [[RecordMemberAttribute][Record Introspection & Indexing]] | | <sticky><b>Summary:</b></sticky> | Definition of selected names to enable introspection of record types | | <sticky><b>Related LCS:</b></sticky> | [[TopLCS2016_069b][LCS-2016-069b]] | ---++ Voting Results: Cast your votes here * Yes: 1. %USERSIG{BrentHahoe - 2017-01-13}% - Version 1 * No: 1. %USERSIG{LievenLemiengre - 2017-01-09}% - Version 1 * Abstain: ---++ Details of Language Change: Key: * LRM text is shown between single quotes <sticky>%BLACK%'... P1076 LRM quoted text ...'%ENDCOLOR%</sticky> * Existing LRM text is shown in <sticky>%BLACK%<b>BLACK</b> coloured font%ENDCOLOR%</sticky> * Additional LRM text is shown in <sticky>%RED%<b>RED</b> coloured font%ENDCOLOR%</sticky> * Deleted LRM text is shown in <sticky>%RED%<strike><b>RED</b> with strike-through</strike>%ENDCOLOR%</sticky> * In order to try and emphasize text in italic font: * Italic font in existing LRM text is shown in <sticky>%GRAY%<i><b>GRAY</b> italic font</i>%BLACK%</sticky> * Italic font in new LRM text is shown in <sticky>%ORANGE%<i><b>ORANGE</b> italic font</i>%ENDCOLOR%</sticky> * Italic font in deleted LRM text is shown in <sticky>%ORANGE%<strike><i><b>ORANGE</b> with strike-through</i></strike>%ENDCOLOR%</sticky> * Editing instructions are shown in <sticky>%GREEN%<b>GREEN</b> coloured font%ENDCOLOR%</sticky> %GREEN% Annot: how to access record element path with an enumeration type? ---+++ LRM 5.3.3 Record types ---++++!! 51 middle %GREEN% Edit: Replace the BNF productions with: <sticky><pre>%BLACK% record_type_definition ::= <b>record</b> element_declaration { element_declaration } <b>end record</b> [ record_type_simple_name ] element_declaration ::= identifier_list : element_subtype_definition ; identifier_list ::= identifier { , identifier } element_subtype_definition ::= subtype_indication record_constraint ::= ( record_element_constraint { , record_element_constraint } ) record_element_constraint ::= %GRAY%<i>record_element_</i>%BLACK%simple_name element_constraint %ORANGE%<i>implicit_</i>%RED%enumeration_type_definition ::= ( %ORANGE%<i>element_</i>%RED%identifier_list { , %ORANGE%<i>element_</i>%RED%identifier_list } ) </pre></sticky> ----- %GREEN% Edit: After the paragraph beginning: 'An element declaration with several identifiers ...' %GREEN% Edit: insert the following paragraph: %BLACK% '%RED%An implicit enumeration type is declared whenever a record type is declared. Each enumeration literal of this enumeration type corresponds to one element identifier of the record type. The number of enumeration literals in the enumeration type shall be the same as the number of element identifiers in the record type.%BLACK%' ---+++ LRM 8.3 Selected names ---++++!! page 109 top %GREEN% Edit: Replace the BNF productions with: <sticky><pre>%BLACK% selected_name ::= prefix . suffix suffix ::= simple_name | character_literal%RED% | %ORANGE%<i>enumeration_</i>%RED%identifier%BLACK% | operator_symbol | all </pre></sticky> ----- %GREEN% Edit: Replace the 2nd paragraph beginning: %BLACK% 'For a selected name that is used to denote a record element ...' %GREEN% Edit: with the following paragraph: %BLACK% 'For a selected name that is used to denote a record element, the suffix %RED%<strike>shall be </strike>denoting the element of a record object or value shall be;%BLACK% a simple name%RED%<strike> denoting an element of a record object or value.</strike> an enumeration identifier literal of the implicit enumeration type associated with the record type. %BLACK%The prefix shall be appropriate for the type of this object or value.' ---+ Comments This proposal is based on the idea that these attributes can be used within a for-loop. The iterator of a for-loop is not locally static so it's unusable as an argument of an attribute. So, you can add these attributes but you will not achieve your usecase. -- %BUBBLESIG{LievenLemiengre - 2017-01-09}% Is this the same for arrays as well? -- %BUBBLESIG{BrentHahoe - 2017-01-10}% %COMMENT%
Edit
|
Attach
|
P
rint version
|
H
istory
:
r5
<
r4
<
r3
<
r2
<
r1
|
B
acklinks
|
V
iew topic
|
Raw edit
|
More topic actions...
Topic revision: r1 - 2017-01-13 - 01:08:48 -
TWikiGuest
P1076
Log In
or
Register
P1076 Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
Webs
Main
P1076
Ballots
LCS2016_080
P10761
P1647
P16661
P1685
P1734
P1735
P1778
P1800
P1801
Sandbox
TWiki
VIP
VerilogAMS
Copyright © 2008-2026 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback