From: Brad Pierce (Brad.Pierce@synopsys.com)
Date: Tue Oct 08 2002 - 13:44:48 PDT
Precedence: bulk
>Number: 153
>Category: errata
>Originator: "Brad Pierce" <Brad.Pierce@synopsys.com>
>Environment:
>Description:
In section A.2.1.2, the grammar for output_declaration is ambiguous,
because every subword with the form of a list_of_port_identifiers
also has the form of a list_of_variable_port_identifiers.
Two examples,
second option vs. third option --
output_declaration --> output [reg] list_of_port_identifiers
--> output reg list_of_port_identifiers
--> output reg a , b
output_declaration --> output reg list_of_variable_port_identifiers
--> output reg a , b
fourth option vs. fifth option --
output_declaration --> output [output_variable_type]
list_of_port_identifiers
--> output integer list_of_port_identifiers
--> output integer a , b
output_declaration --> output output_variable_type
list_of_variable_port_identifiers
--> output integer
list_of_variable_port_identifiers
--> output integer a , b
Note that any output_declaration generated by the second option is also
generated
by the first or third option. And any output_declaration generated by the
fourth
option is also generated by the first or fifth option.
A fix is to remove the second and fourth options, leaving
output_declaration ::=
output [net_type] [signed] [range] list_of_port_identifiers
|
output reg [signed] [range] list_of_variable_port_identifiers
|
output output_variable_type list_of_variable_port_identifiers
If 'output' were followed by 'reg', 'integer' or 'time', then the list of
identifiers
would be a list_of_variable_port_identifiers, and otherwise would be a
list_of_port_identifiers.
-- Brad
This archive was generated by hypermail 2.1.4
: Thu Oct 10 2002 - 09:24:31 PDT
and
sponsored by Boyd Technology, Inc.