preprocessor: support long name for parameters, #478
parent
8b34189bc3
commit
14b6cf98fb
|
@ -430,6 +430,12 @@ parameter_list : parameter_list symbol
|
||||||
{ driver.declare_parameter($3, $4); }
|
{ driver.declare_parameter($3, $4); }
|
||||||
| symbol TEX_NAME
|
| symbol TEX_NAME
|
||||||
{ driver.declare_parameter($1, $2); }
|
{ driver.declare_parameter($1, $2); }
|
||||||
|
| parameter_list symbol TEX_NAME named_var
|
||||||
|
{ driver.declare_parameter($2, $3, $4); }
|
||||||
|
| parameter_list COMMA symbol TEX_NAME named_var
|
||||||
|
{ driver.declare_parameter($3, $4, $5); }
|
||||||
|
| symbol TEX_NAME named_var
|
||||||
|
{ driver.declare_parameter($1, $2, $3); }
|
||||||
;
|
;
|
||||||
|
|
||||||
predetermined_variables_list : predetermined_variables_list symbol
|
predetermined_variables_list : predetermined_variables_list symbol
|
||||||
|
|
|
@ -186,12 +186,14 @@ ParsingDriver::declare_exogenous_det(string *name, string *tex_name, string *lon
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ParsingDriver::declare_parameter(string *name, string *tex_name)
|
ParsingDriver::declare_parameter(string *name, string *tex_name, string *long_name)
|
||||||
{
|
{
|
||||||
declare_symbol(name, eParameter, tex_name, NULL);
|
declare_symbol(name, eParameter, tex_name, long_name);
|
||||||
delete name;
|
delete name;
|
||||||
if (tex_name != NULL)
|
if (tex_name != NULL)
|
||||||
delete tex_name;
|
delete tex_name;
|
||||||
|
if (long_name != NULL)
|
||||||
|
delete long_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -264,7 +264,7 @@ public:
|
||||||
//! Declares an exogenous deterministic variable
|
//! Declares an exogenous deterministic variable
|
||||||
void declare_exogenous_det(string *name, string *tex_name = NULL, string *long_name = NULL);
|
void declare_exogenous_det(string *name, string *tex_name = NULL, string *long_name = NULL);
|
||||||
//! Declares a parameter
|
//! Declares a parameter
|
||||||
void declare_parameter(string *name, string *tex_name = NULL);
|
void declare_parameter(string *name, string *tex_name = NULL, string *long_name = NULL);
|
||||||
//! Declares a statement local variable
|
//! Declares a statement local variable
|
||||||
void declare_statement_local_variable(string *name);
|
void declare_statement_local_variable(string *name);
|
||||||
//! Completes a subsample statement
|
//! Completes a subsample statement
|
||||||
|
|
|
@ -211,10 +211,12 @@ SymbolTable::writeOutput(ostream &output) const throw (NotYetFrozenException)
|
||||||
{
|
{
|
||||||
output << "M_.param_names = '" << getName(param_ids[0]) << "';" << endl;
|
output << "M_.param_names = '" << getName(param_ids[0]) << "';" << endl;
|
||||||
output << "M_.param_names_tex = '" << getTeXName(param_ids[0]) << "';" << endl;
|
output << "M_.param_names_tex = '" << getTeXName(param_ids[0]) << "';" << endl;
|
||||||
|
output << "M_.param_names_long = '" << getLongName(param_ids[0]) << "';" << endl;
|
||||||
for (int id = 1; id < param_nbr(); id++)
|
for (int id = 1; id < param_nbr(); id++)
|
||||||
{
|
{
|
||||||
output << "M_.param_names = char(M_.param_names, '" << getName(param_ids[id]) << "');" << endl
|
output << "M_.param_names = char(M_.param_names, '" << getName(param_ids[id]) << "');" << endl
|
||||||
<< "M_.param_names_tex = char(M_.param_names_tex, '" << getTeXName(param_ids[id]) << "');" << endl;
|
<< "M_.param_names_tex = char(M_.param_names_tex, '" << getTeXName(param_ids[id]) << "');" << endl
|
||||||
|
<< "M_.param_names_long = char(M_.param_names_long, '" << getLongName(param_ids[id]) << "');" << endl;
|
||||||
|
|
||||||
if (getName(param_ids[id]) == "dsge_prior_weight")
|
if (getName(param_ids[id]) == "dsge_prior_weight")
|
||||||
output << "options_.dsge_var = 1;" << endl;
|
output << "options_.dsge_var = 1;" << endl;
|
||||||
|
|
Loading…
Reference in New Issue