From 47031767fa5201d85755a5321f1a12c96e95b1cf Mon Sep 17 00:00:00 2001 From: steve Date: Fri, 31 Aug 2001 17:38:41 +0000 Subject: [PATCH] Parse $setuphold statements. --- lexor.lex | 4 +++- parse.y | 17 +++++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/lexor.lex b/lexor.lex index b08472661..6d7a82f99 100644 --- a/lexor.lex +++ b/lexor.lex @@ -19,7 +19,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) && !defined(macintosh) -#ident "$Id: lexor.lex,v 1.61 2001/08/30 22:40:12 steve Exp $" +#ident "$Id: lexor.lex,v 1.62 2001/08/31 17:38:41 steve Exp $" #endif # include "config.h" @@ -200,6 +200,8 @@ W [ \t\b\f\r]+ return IDENTIFIER; } \$([a-zA-Z0-9$_]+) { + if (strcmp(yytext,"$setuphold") == 0) + return K_Ssetuphold; if (strcmp(yytext,"$attribute") == 0) return KK_attribute; if (strcmp(yytext,"$hold") == 0) diff --git a/parse.y b/parse.y index 62326cf35..15fe8350a 100644 --- a/parse.y +++ b/parse.y @@ -19,7 +19,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) && !defined(macintosh) -#ident "$Id: parse.y,v 1.126 2001/07/28 22:00:27 steve Exp $" +#ident "$Id: parse.y,v 1.127 2001/08/31 17:38:41 steve Exp $" #endif # include "config.h" @@ -107,7 +107,7 @@ static struct str_pair_t decl_strength = { PGate::STRONG, PGate::STRONG }; %token K_trior K_trireg K_vectored K_wait K_wand K_weak0 K_weak1 %token K_while K_wire %token K_wor K_xnor K_xor -%token K_Shold K_Speriod K_Srecovery K_Ssetup K_Swidth +%token K_Shold K_Speriod K_Srecovery K_Ssetup K_Swidth K_Ssetuphold %token KK_attribute @@ -1884,6 +1884,19 @@ specify_item { delete $5; delete $7; } + | K_Ssetuphold '(' spec_reference_event ',' spec_reference_event + ',' expression ',' expression ')' ';' + { + delete $7; + delete $9; + } + | K_Ssetuphold '(' spec_reference_event ',' spec_reference_event + ',' expression ',' expression ',' identifier ')' ';' + { + delete $7; + delete $9; + delete $11; + } ; specify_delay_value_list