Accept attributes in front of module instantiations.
This commit is contained in:
parent
13a660b591
commit
276f2d0032
20
parse.y
20
parse.y
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
%{
|
%{
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1998-2005 Stephen Williams (steve@icarus.com)
|
* Copyright (c) 1998-2006 Stephen Williams (steve@icarus.com)
|
||||||
*
|
*
|
||||||
* This source code is free software; you can redistribute it
|
* This source code is free software; you can redistribute it
|
||||||
* and/or modify it in source code form under the terms of the GNU
|
* and/or modify it in source code form under the terms of the GNU
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
*/
|
*/
|
||||||
#ifdef HAVE_CVS_IDENT
|
#ifdef HAVE_CVS_IDENT
|
||||||
#ident "$Id: parse.y,v 1.210 2006/03/18 22:53:38 steve Exp $"
|
#ident "$Id: parse.y,v 1.211 2006/03/25 02:42:58 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
|
|
@ -1703,14 +1703,18 @@ module_item
|
||||||
primitives. These devices to not have delay lists or strengths,
|
primitives. These devices to not have delay lists or strengths,
|
||||||
but then can have parameter lists. */
|
but then can have parameter lists. */
|
||||||
|
|
||||||
| IDENTIFIER parameter_value_opt gate_instance_list ';'
|
| attribute_list_opt
|
||||||
{ perm_string tmp1 = lex_strings.make($1);
|
IDENTIFIER parameter_value_opt gate_instance_list ';'
|
||||||
pform_make_modgates(tmp1, $2, $3);
|
{ perm_string tmp1 = lex_strings.make($2);
|
||||||
delete $1;
|
pform_make_modgates(tmp1, $3, $4);
|
||||||
|
delete $2;
|
||||||
|
if ($1) delete $1;
|
||||||
}
|
}
|
||||||
|
|
||||||
| IDENTIFIER parameter_value_opt error ';'
|
| attribute_list_opt
|
||||||
{ yyerror(@1, "error: Invalid module instantiation");
|
IDENTIFIER parameter_value_opt error ';'
|
||||||
|
{ yyerror(@2, "error: Invalid module instantiation");
|
||||||
|
if ($1) delete $1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Continuous assignment can have an optional drive strength, then
|
/* Continuous assignment can have an optional drive strength, then
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue