errata/153: Section 12.3.3, A.2.1.2, ouput_declaration is ambiguous

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.