Sorry message for procedural assertion statements.

This commit is contained in:
Stephen Williams 2017-01-10 11:38:38 -08:00
parent 3d9e777ae5
commit 221084d838
1 changed files with 18 additions and 0 deletions

18
parse.y
View File

@ -655,6 +655,7 @@ static void current_function_set_statement(const YYLTYPE&loc, vector<Statement*>
%type <statement> statement statement_item statement_or_null %type <statement> statement statement_item statement_or_null
%type <statement> compressed_statement %type <statement> compressed_statement
%type <statement> loop_statement for_step jump_statement %type <statement> loop_statement for_step jump_statement
%type <statement> procedural_assertion_statement
%type <statement_list> statement_or_null_list statement_or_null_list_opt %type <statement_list> statement_or_null_list statement_or_null_list_opt
%type <statement> analog_statement %type <statement> analog_statement
@ -1815,6 +1816,21 @@ property_expr /* IEEE1800-2012 A.2.10 */
: expression : expression
; ;
procedural_assertion_statement /* IEEE1800-2012 A.6.10 */
: K_assert '(' expression ')' statement %prec less_than_K_else
{ yyerror(@1, "sorry: Simple immediate assertion statements not implemented.");
$$ = 0;
}
| K_assert '(' expression ')' K_else statement
{ yyerror(@1, "sorry: Simple immediate assertion statements not implemented.");
$$ = 0;
}
| K_assert '(' expression ')' statement K_else statement
{ yyerror(@1, "sorry: Simple immediate assertion statements not implemented.");
$$ = 0;
}
;
/* The property_qualifier rule is as literally described in the LRM, /* The property_qualifier rule is as literally described in the LRM,
but the use is usually as { property_qualifier }, which is but the use is usually as { property_qualifier }, which is
implemented by the property_qualifier_opt rule below. */ implemented by the property_qualifier_opt rule below. */
@ -6241,6 +6257,8 @@ statement_item /* This is roughly statement_item in the LRM */
$$ = tmp; $$ = tmp;
} }
| procedural_assertion_statement { $$ = $1; }
| loop_statement { $$ = $1; } | loop_statement { $$ = $1; }
| jump_statement { $$ = $1; } | jump_statement { $$ = $1; }