TWiki
>
P1076 Web
>
VHDL2017
>
LCS2016_033
(revision 29) (raw view)
Edit
Attach
---+ Language Change Specification for Composition with Protected Types ---++ | <sticky><b>LCS Number:</b></sticky> | LCS-2016-033 | | <sticky><b>Version:</b> </sticky> | 2 {11-Feb-2017} <span data-mce-mark="1">%BR%</span> 1 {26-Dec-2016} | | <sticky><b>Date:</b> </sticky> | 11-Feb-2017 | | <sticky><b>Status:</b> </sticky> | Voting | | <sticky><b>Author:</b> </sticky> | Jim Lewis | | <sticky><b>Email:</b> </sticky> | [[Main.JimLewis]] | | <sticky><b>Source Doc:</b></sticky> | [[ProtectedTypeComposition][Composition with Protected Types]] | | <sticky><b>More Doc:</b></sticky> | [[LCS2016_033_history][history]] | | <sticky><b>Summary:</b> </sticky> | Composition with Protected Types | <sticky> ---+++ Style Notes <font color="green">[Author Comment: author comments are shown in green]</font> <font color="red">Text changes are shown in red</font> <font color="red"><strike>Deleted text is shown in red font with a strike thru</strike></font> ---+++ Details of Language Change ---+++ Section 5.6 Protected Types ---++++ Section 5.6.2 ---+++++ 033.1: Extend production for protected_type_declarative_item on page 58 <pre>protected_type_declarative_item ::= [ยง 5.6.2] subprogram_declaration | subprogram_instantiation_declaration | attribute_specification | use_clause %RED% | private_variable_declaration | alias_declaration%ENDCOLOR% %RED%private_variable_declaration ::= <b>private</b> variable_declaration </pre> ---+++++ 033.2: New paragraph before notes on page 58 %GREEN%[Note: if we do not make the variables visible in expanded names or visibility, the keyword private is probably not necessary - but it is good for readability. In addition, if we ever want to introduce public variables, this designation will be necessary]%ENDCOLOR% <font color="red">A private variable declaration denotes a variable declaration that is only visible within the scope of the protected type. An alias declared within a protected type delcaration may make a method of the private variable visible. It is an error if an alias declared within a protected type delcaration denotes anything other than a method of a protected type. </font> ---+++ Section 8.3 ---++++ 033.3: 2nd to last paragraph on page 109 An expanded name denotes a named entity declared immediately within an elaborated protected type if the prefix denotes an object of the protected type and the suffix is a simple name of a method <font color="red">or an alias</font> whose declaration appears immediately within the protected type declaration. </font> ---+++ 12.3 Visibility ---++++ 033.4: List item s on page 188 s) For a subprogram <font color="red"> or alias </font> declared immediately within a given protected type declaration: at the place of the suffix in a selected name whose prefix denotes an object of the protected type. ---+++ 14.6 Dynamic elaboration ---++++ 033.5: Paragraph that starts at the end of 213 and continues to page 214 Next, if the subprogram is a method of a protected type (see 5.6.2) or an implicitly declared file operation (see 5.5.2), the elaboration blocks (suspends execution while retaining all state), if necessary, until exclusive access %RED%<strike>to the object denoted by the prefix of the method or to the file object denoted by the file parameter of the file operation</strike>%ENDCOLOR% is secured. %RED%For a protected type method, exclusive access is required to the object denoted by the prefix of the method or alias used to call the subprogram. For a file object, exclusive access is required to the object denoted by the file parameter of the file operation.%ENDCOLOR% %RED%[Add paragraph break]%ENDCOLOR% Finally, if the designator of the subprogram is not decorated with the 'FOREIGN attribute defined in package STANDARD, the declarative part of the corresponding subprogram body is elaborated and the sequence of statements in the subprogram body is executed. If the designator of the subprogram is decorated with the 'FOREIGN attribute defined in package STANDARD, there are two cases: ---+++ 15.10 Reserved Words ---++++ 033.6: Page 236 add private to the reserved word list: %RED%<b>private</b>%ENDCOLOR% <br> <br>
Edit
|
Attach
|
P
rint version
|
H
istory
:
r30
<
r29
<
r28
<
r27
<
r26
|
B
acklinks
|
V
iew topic
|
Raw edit
|
More topic actions...
Topic revision: r1 - 2017-07-16 - 05:21:38 -
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-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