Subject: [sv-bc] BNF update for SV-BC71
From: Karen Pieper (Karen.Pieper@synopsys.com)
Date: Fri Feb 28 2003 - 19:10:24 PST
This proposal is the BNF changes to support the language added with SV-BC71.
In A.1.3:
REPLACE: (bold endmodule ; )
module_declaration ::=
{ attribute_instance } module_keyword module_identifier [
parameter_port_list ]
list_of_ports ; [ timeunits_declaration ] { module_item }
endmodule
| {attribute_instance } module_keyword module_identifier [
parameter_port_list ]
[ list_of_port_declarations ] ; [ timeunits_declaration ] {
non_port_module_item }
endmodule
WITH: (bold endmodule, "( .* )", ;)
module_nonansi_header ::=
{ attribute_instance } module_keyword module_identifier [
parameter_port_list ]
list_of_ports ;
module_ansi_header ::=
{attribute_instance } module_keyword module_identifier [ parameter_port_list ]
[ list_of_port_declarations ] ;
module_declaration ::=
module_nonansi_header [ timeunits_declaration ] { module_item } endmodule
| module_ansi_header [ timeunits_declaration ] { non_port_module_item }
endmodule
| { attribute_instance } module_keyword module_identifier ( .* ) ;
[ timeunits_declaration ] { module_item } endmodule
| extern module_nonansi_header
| extern module_ansi_header
REPLACE: (bold interface, endinterface)
interface_declaration ::=
{ attribute_instance } interface interface_identifier [ parameter_port_list ]
list_of_ports ; [ timeunits_declaration ] { interface_item }
endinterface [ :interface_identifier ]
| {attribute_instance } interface interface_identifier [ parameter_port_list ]
[ list_of_port_declarations ] ; [ timeunits_declaration ] {
non_port_interface_item }
endinterface [ :interface_identifier ]
WITH: (bold interface, endinterface)
interface_nonansi_header ::=
{ attribute_instance } interface interface_identifier [ parameter_port_list ]
list_of_ports ;
interface_ansi_header ::=
{attribute_instance } interface interface_identifier [ parameter_port_list ]
[ list_of_port_declarations ] ;
interface_declaration ::=
interface_nonansi_header [ timeunits_declaration ] { interface_item }
endinterface [ :interface_identifier ]
| interface_ansi_header [ timeunits_declaration ] {
non_port_interface_item }
endinterface [ :interface_identifier ]
| { attribute_instance } interface_keyword interface_identifier ( .* ) ;
[ timeunits_declaration ] { interface_item } endinterface [
:interface_identifier ]
| extern interface_nonansi_header
| extern interface_ansi_header
In A.5.1
REPLACE:
udp_declaration ::=
{ attribute_instance } primitive udp_identifier ( udp_port_list) ;
udp_port_declaration { udp_port_declaration }
udp_body
endprimitive
| { attribute_instance } primitive udp_identifier (
udp_declaration_port_list) ;
udp_body
endprimitive
WITH:
udp_nonansi_declaration ::=
{ attribute_instance } primitive udp_identifier ( udp_port_list) ;
udp_ansi_declaration ::=
{ attribute_instance } primitive udp_identifier (
udp_declaration_port_list) ;
udp_declaration ::=
udp_nonansi_declaration udp_port_declaration { udp_port_declaration }
udp_body
endprimitive
| udp_ansi_declaration udp_body primitive
| extern udp_nonansi_declaration
| extern udp_ansi_declaration
| { attribute_instance } primitive udp_identifier ( .*) ;
{udp_port_declaration} udp_body endprimitive
This archive was generated by hypermail 2b28 : Fri Feb 28 2003 - 19:10:59 PST