- add after clause parsing in concurrent assignment statements
- add note on unsupported statements when an error message is displayed
This commit is contained in:
parent
bef44491e3
commit
694ad8fbd3
|
@ -48,9 +48,12 @@
|
||||||
# define my_fprintf fprintf( stdout, "%s %d : ", basename(__FILE__), __LINE__ ); fprintf
|
# define my_fprintf fprintf( stdout, "%s %d : ", basename(__FILE__), __LINE__ ); fprintf
|
||||||
# define my_vbl_error(N,V) \
|
# define my_vbl_error(N,V) \
|
||||||
do { fprintf( stderr, "%s %d : ", basename(__FILE__), __LINE__); vbl_error(N,V); } while(0)
|
do { fprintf( stderr, "%s %d : ", basename(__FILE__), __LINE__); vbl_error(N,V); } while(0)
|
||||||
|
# define my_vbl_warning(N,V) \
|
||||||
|
do { fprintf( stderr, "%s %d : ", basename(__FILE__), __LINE__); vbl_warning(N,V); } while(0)
|
||||||
#else
|
#else
|
||||||
# define my_fprintf fprintf
|
# define my_fprintf fprintf
|
||||||
# define my_vbl_error vbl_error
|
# define my_vbl_error vbl_error
|
||||||
|
# define my_vbl_warning vbl_warning
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef VBL_DEBUG
|
#ifdef VBL_DEBUG
|
||||||
|
@ -6043,9 +6046,28 @@ signal_assignment_statement
|
||||||
;
|
;
|
||||||
|
|
||||||
waveform_element
|
waveform_element
|
||||||
: expression
|
: expression
|
||||||
{ $$ = $1; }
|
.AFTER__delay_expression.
|
||||||
;
|
{
|
||||||
|
$$ = $1;
|
||||||
|
}
|
||||||
|
;
|
||||||
|
|
||||||
|
.AFTER__delay_expression.
|
||||||
|
: /*empty*/
|
||||||
|
{ }
|
||||||
|
| AFTER
|
||||||
|
delay_expression
|
||||||
|
{
|
||||||
|
my_vbl_warning( 0, "after clauses ignored !" );
|
||||||
|
}
|
||||||
|
;
|
||||||
|
|
||||||
|
delay_expression
|
||||||
|
: AbstractLit
|
||||||
|
time_label
|
||||||
|
{ }
|
||||||
|
;
|
||||||
|
|
||||||
if_statement
|
if_statement
|
||||||
: IF
|
: IF
|
||||||
|
|
|
@ -88,5 +88,6 @@ extern int vbl_intSize();
|
||||||
extern int vbl_vextonum();
|
extern int vbl_vextonum();
|
||||||
extern vbtyp_list *vbl_getbasetype();
|
extern vbtyp_list *vbl_getbasetype();
|
||||||
extern void vbl_error();
|
extern void vbl_error();
|
||||||
|
extern void vbl_warning();
|
||||||
extern int vbl_tobin();
|
extern int vbl_tobin();
|
||||||
|
|
||||||
|
|
|
@ -502,6 +502,9 @@ char *str1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fprintf( stderr,
|
||||||
|
"Note that errors might also be due to unsupported statements\n" );
|
||||||
|
|
||||||
if (VBL_ERRFLG > VBL_MXRDFN)
|
if (VBL_ERRFLG > VBL_MXRDFN)
|
||||||
{
|
{
|
||||||
(void) fprintf (stderr,"Too many errors. Cannot continue further more\n");
|
(void) fprintf (stderr,"Too many errors. Cannot continue further more\n");
|
||||||
|
@ -512,6 +515,26 @@ char *str1;
|
||||||
autexit(1);
|
autexit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void vbl_warning (code,str1)
|
||||||
|
|
||||||
|
int code;
|
||||||
|
char *str1;
|
||||||
|
|
||||||
|
{
|
||||||
|
(void)fprintf (stderr,"Warning %d line %ld in file %s :",code,VBL_LINNUM, VBL_FILENAME);
|
||||||
|
|
||||||
|
switch (code)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
(void) fprintf (stderr," %s\n", str1);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
(void) fprintf (stderr, "unknown warning\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* ###--------------------------------------------------------------### */
|
/* ###--------------------------------------------------------------### */
|
||||||
/* function : vbl_y_error */
|
/* function : vbl_y_error */
|
||||||
/* ###--------------------------------------------------------------### */
|
/* ###--------------------------------------------------------------### */
|
||||||
|
|
Loading…
Reference in New Issue