Section A.1.9, A.2.11, A.8.1, 7, 12, 20
Constraint declarations, stream expressions, etc.

In A.2.11 and Syntax 20-3, in trans_range_list, the [*, [->, and [= operator tokens should not contain whitespace.

 

In A.8.1, Syntax 7-4, Syntax 7-5, REPLACE

            stream_expression ::=

                        expression

            |           array_identifier [ with [ array_range_expression ] ]

WITH

            stream_expression ::=

                        expression [ with [ array_range_expression ] ]

 

In 7.18.1, at the bottom of p. 77, REPLACE

            The array identifier can be

WITH

            The expression before the with can be

AND, at the top of p. 78, REPLACE

            When used within the context of an unpack operation and the array-identifier designates a variable-sized array, the array shall be resized to accommodate the range expression.  If the array-identifier designates a fixed-size array and

WITH

            When used within the context of an unpack operation and the array-identifier designates array is a variable-sized array, the array it shall be resized to accommodate the range expression.  If the array-identifier designates array is a fixed-size array and

 

In A.1.9 and Syntax 12-2, in extern_constraint_declaration, REPLACE

class_identifer :: constraint_identifier

WITH

            class_identifer :: class_scope constraint_identifier

 

In A.1.9 and Syntax 12-2,  in constraint_prototype, REPLACE

            constraint_identifier

WITH

            constraint_identifier ;

 

In A.1.9, Syntax 12-2, and Syntax 12-7, RENAME

            constraint_block

TO

            constraint_block_item

 

In A.1.9, Syntax 12-2, ADD

            constraint_block ::= { { constraint_block_item } }

 

In          A.1.9 and Syntax 12-2 in

constraint_declaration

extern_constraint_declaration

and in   A.8.2 in

randomize_call

and in   Syntax 12-8  in

constraint_declaration

and in   Syntax 12-9 in

inline_constraint_declaration

and in   Syntax  12-10 in

scope_randomize

REPLACE

            { { constraint_block } }

WITH

            { { constraint_block } }

 

In A.1.9 and Syntax 12-2, REPLACE

            constraint_expression ::=

                        expression ;

            |           expression -> constraint_set

            |           if ( expression ) constraint_set [ else constraint_set ]

            |           expression dist { dist_list } ;

            |           foreach ( array_identifer [ loop_variables ] ) constraint_set

WITH

            constraint_expression ::=

                        expression_or_dist ;

            |           expression -> constraint_set

            |           if ( expression ) constraint_set [ else constraint_set ]

            |           expression dist { dist_list } ;

            |           foreach ( array_identifer [ loop_variables ] ) constraint_set

 

In Syntax 12-2 and Syntax 12-3, ADD

            expression_or_dist ::= expression [ dist { dist_list } ]                    // from Annex A.2.10

 

In Syntax 12-3, REMOVE the excerpt from ‘constraint_block’ (really from constraint_expression)

            constraint_block ::=

                        ...

            |           expression dist { dist_list } ;

 

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

            { dist_list }

WITH

            { dist_list }

OR if the { } are already bold, never mind.  I can’t tell in my PDF version.



In 12.4.11, in the example of constraint C2, REPLACE each occurrence of

w

WITH

wv

AND in the paragraph below it, REPLACE

            length can constrain w

WITH

            length length can constrain wv