Section A.1.3, A.1.8, A.1.10, A.2.2.1, A.2.2.2, A.2.4, A.2.6, A.2.7, A.2.10, A.2.11, A.8.1, A.8.2, A.8.4, A.8.5, A.9.3, Syntax 3-1, Syntax 3-3, Syntax 3-5, Syntax 3-6, Syntax 7-4, Syntax 10-1, Syntax 10-2, Syntax 11-1, Syntax 17-2, Syntax 17-15, Syntax 18-1, Syntax 19-3, Syntax 20-1
Package and class scope resolution

In A.9.3, ADD

            package_scope ::=

 package_identifier ::

            |           $unit ::

 

In A.2.2.1 and Syntax 3-1, REMOVE

            class_scope_type_identifier ::=

                        class_scope [ :: type_identifier ]

 

In A.2.2.1 and Syntax 3-1, REPLACE

            class_scope ::=

                        class_identifier [ parameter_value_assignment ]

                                    { :: class_identifier [ parameter_value_assignment ] }

WITH

            class_scope ::=

                        class_type ::

            class_type ::=

                        ps_class_identifier [ parameter_value_assignment ]

                                    { :: class_identifier [ parameter_value_assignment ] }

 

In A.2.2.1 and Syntax 3-1, in data_type, REMOVE

            |           data_type

 

In A.2.2.1 and Syntax 3-1, Syntax 3-3, Syntax 19-3, RENAME

            data_type_common_item

TO

            data_type

 

In A.2.2.1 and Syntax 3-1, in data_type (the renamed data_type_common_item), ADD

            |           [ class_scope | package_scope ] type_identifier

            |           class_type

            |           event

            |           covergroup_identifier

 

In A.2.6 and Syntax 10-2, REPLACE

            function_data_type ::=

                        data_type_common_item

            |           void

WITH

            function_data_type ::= data_type | void

 

In A.1.3, Syntax 3-5,  Syntax 11-1, in class_declaration, REPLACE

            extends class_identifier [ parameter_value_assignment ]

WITH

            extends class_type

 

In A.1.3 and Syntax 18-1, REPLACE

            package package_identifier

WITH

            package package_identifier ;

 

In A.1.8 and Syntax 11-1, REMOVE

            extern_method_declaration

 

In A.1.10 and Syntax 18-1, in package_or_generate_item_declaration, REMOVE

            |           extern_method_declaration

 

In Footnote 7 of Annex A, REPLACE

            class_declaration or extern_method_declaration

WITH

            class declaration or out-of-block method declaration

 

In A.2.6 and A.2.7 and Syntax 10-1 and Syntax 10-2, in

            function_body_declaration

            task_body_declaration

REPLACE each occurrence of

            [ interface_identifier . ]

WITH

            [ interface_identifier . | class_scope ]

 

 

In A.2.2.1 and Syntax 3-1, in data_type, REPLACE

            |           covergroup_identifier

WITH

            |           ps_covergroup_identifier

 

In A.2.2.1, Syntax 3-1, Syntax 3-6,  in simple_type, REPLACE

            type_identifier

WITH

            ps_type_identifier

 

In A.2.2.3, in delay_value, REPLACE

            identifier

WITH

            ps_identifier

 

In A.2.4, in dynamic_array_new, REPLACE

            dynamic_array_variable_identifier

WITH

            expression

 

In A.2.10 and Syntax 17-15, in property_instance, REPLACE

            property_identifier

WITH

            ps_property_identifier

 

In A.2.10 and Syntax 17-2, in sequence_instance, REPLACE

            sequence_identifier

WITH

            ps_sequence_identifier

 

In A.2.11 and Syntax 20-1, in hierarchical_btf_identifier, REPLACE

            { class_scope :: }

WITH

            [ class_scope ]

 

In A.8.1 and Syntax 7-4, in slice_size, REPLACE

            type_identifier

WITH

            ps_type_identifier

 

In A.8.2, in tf_call, REPLACE

            hierarchical_tf_identifier

WITH

            ps_or_hierarchical_tf_identifier

 

In A.8.4, in constant_primary, REPLACE

            |           enum_identifier

WITH

            |           [ package_scope | class_scope ] enum_identifier

and REPLACE

            |           parameter_identifier

            |           specparam_identifier

WITH

            |           ps_parameter_identifier

            |           ps_specparam_identifier

 

In A.8.4, in primary, REPLACE

            |           [ implicit_class_handle . ] hierarchical_identifier select

            |           class_scope :: identifier select

WITH

            |           [ implicit_class_handle . | class_scope | package_scope ]

                                    hierarchical_identifier select

 

In A.8.5, in net_lvalue, REPLACE

            hierarchical_net_identifier

WITH

            ps_or_hierarchical_net_identifier

 

In A.8.5, in variable_lvalue, REPLACE

            [ implicit_class_handle . ]

WITH

            [ implicit_class_handle . | package_scope ]

           

In A.9.3, ADD

            package_identifier ::= identifier

            ps_class_identifier ::= [ package_scope ] class_identifier

            ps_covergroup_identifier ::= [ package_scope ] covergroup_identifier

            ps_identifier ::= [ package_scope ] identifier

            ps_or_hierarchical_net_identifier ::=

[ package_scope ] net_identifier | hierarchical_net_identifier

            ps_or_hierarchical_tf_identifier ::= [ package_scope ] tf_identifier | hierarchical_tf_identifier

            ps_parameter_identifier ::= [ package_scope ] parameter_identifier

            ps_property_identifier ::= [ package_scope ] property_identifier

            ps_sequence_identifier ::= [ package_scope ] sequence_identifier

            ps_specparam_identifier ::= [ package_scope ] specparam_identifier

ps_type_identifier ::= [ package_scope ] type_identifier