Do a better job with synthesis translate pragmas.
This commit is contained in:
parent
6765e32ab9
commit
486dc7abeb
|
|
@ -137,8 +137,13 @@ TU [munpf]
|
||||||
current line. These are very easy to handle. The meta-comments
|
current line. These are very easy to handle. The meta-comments
|
||||||
format is a little more tricky to handle, but do what we can. */
|
format is a little more tricky to handle, but do what we can. */
|
||||||
|
|
||||||
"//"{W}*"synthesis"{W}*"translate_on"{W}*\n { return K_MC_TRANSLATE_ON; }
|
/* The lexor detects "// synthesis translate_on/off" meta-comments,
|
||||||
"//"{W}*"synthesis"{W}*"translate_off"{W}*\n { return K_MC_TRANSLATE_OFF; }
|
we handle them here by turning on/off a flag. The pform uses
|
||||||
|
that flag to attach implicit attributes to "initial" and
|
||||||
|
"always" statements. */
|
||||||
|
|
||||||
|
"//"{W}*"synthesis"{W}*"translate_on"{W}*\n { pform_mc_translate_on(true); }
|
||||||
|
"//"{W}*"synthesis"{W}*"translate_off"{W}*\n { pform_mc_translate_on(false); }
|
||||||
"//" { comment_enter = YY_START; BEGIN(LCOMMENT); }
|
"//" { comment_enter = YY_START; BEGIN(LCOMMENT); }
|
||||||
<LCOMMENT>. { yymore(); }
|
<LCOMMENT>. { yymore(); }
|
||||||
<LCOMMENT>\n { yylloc.first_line += 1; BEGIN(comment_enter); }
|
<LCOMMENT>\n { yylloc.first_line += 1; BEGIN(comment_enter); }
|
||||||
|
|
|
||||||
9
parse.y
9
parse.y
|
|
@ -532,8 +532,6 @@ static void current_function_set_statement(const YYLTYPE&loc, vector<Statement*>
|
||||||
%token K_resolveto K_sin K_sinh K_slew K_split K_sqrt K_tan K_tanh
|
%token K_resolveto K_sin K_sinh K_slew K_split K_sqrt K_tan K_tanh
|
||||||
%token K_timer K_transition K_units K_white_noise K_wreal
|
%token K_timer K_transition K_units K_white_noise K_wreal
|
||||||
%token K_zi_nd K_zi_np K_zi_zd K_zi_zp
|
%token K_zi_nd K_zi_np K_zi_zd K_zi_zp
|
||||||
/* Support some meta-comments as pragmas. */
|
|
||||||
%token K_MC_TRANSLATE_ON K_MC_TRANSLATE_OFF
|
|
||||||
|
|
||||||
%type <flag> from_exclude block_item_decls_opt
|
%type <flag> from_exclude block_item_decls_opt
|
||||||
%type <number> number pos_neg_number
|
%type <number> number pos_neg_number
|
||||||
|
|
@ -4248,13 +4246,6 @@ module_item
|
||||||
/* Modules can contain further sub-module definitions. */
|
/* Modules can contain further sub-module definitions. */
|
||||||
: module
|
: module
|
||||||
|
|
||||||
/* The lexor detects "// synthesis translate_on/off" meta-comments,
|
|
||||||
we handle them here by turning on/off a flag. The pform uses
|
|
||||||
that flag to attach implicit attributes to "initial" and
|
|
||||||
"always" statements. */
|
|
||||||
| K_MC_TRANSLATE_OFF { pform_mc_translate_on(false); }
|
|
||||||
| K_MC_TRANSLATE_ON { pform_mc_translate_on(true); }
|
|
||||||
|
|
||||||
| attribute_list_opt net_type data_type_or_implicit delay3_opt net_variable_list ';'
|
| attribute_list_opt net_type data_type_or_implicit delay3_opt net_variable_list ';'
|
||||||
|
|
||||||
{ data_type_t*data_type = $3;
|
{ data_type_t*data_type = $3;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue