From 078019ddec58252ab7d09eb7ac5c5db3656475f6 Mon Sep 17 00:00:00 2001 From: steve Date: Wed, 6 Dec 2006 05:32:36 +0000 Subject: [PATCH] Parse the case of module arrays with port binding by name. --- parse.y | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/parse.y b/parse.y index d4312ab71..88185cff0 100644 --- a/parse.y +++ b/parse.y @@ -19,7 +19,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #ifdef HAVE_CVS_IDENT -#ident "$Id: parse.y,v 1.222 2006/12/03 04:46:51 steve Exp $" +#ident "$Id: parse.y,v 1.223 2006/12/06 05:32:36 steve Exp $" #endif # include "config.h" @@ -1232,6 +1232,7 @@ gate_instance svector*rng = $2; tmp->name = $1; tmp->parms = 0; + tmp->parms_by_name = 0; tmp->range[0] = (*rng)[0]; tmp->range[1] = (*rng)[1]; tmp->file = @1.text; @@ -1246,12 +1247,28 @@ gate_instance | IDENTIFIER '(' port_name_list ')' { lgate*tmp = new lgate; tmp->name = $1; + tmp->parms = 0; tmp->parms_by_name = $3; tmp->file = @1.text; tmp->lineno = @1.first_line; delete $1; $$ = tmp; } + + | IDENTIFIER range '(' port_name_list ')' + { lgate*tmp = new lgate; + svector*rng = $2; + tmp->name = $1; + tmp->parms = 0; + tmp->parms_by_name = $4; + tmp->range[0] = (*rng)[0]; + tmp->range[1] = (*rng)[1]; + tmp->file = @1.text; + tmp->lineno = @1.first_line; + delete $1; + delete rng; + $$ = tmp; + } ; gate_instance_list