Sébastien Villemot
8e03f17350
Cleanup the “output” option
...
— output Julia files as soon as “language=julia” is passed, independently of
the value of the “output” option
— drop the “dynamic” and “first” values of the “output” option, since they
actually do nothing
— obey the “output” option even in the deterministic case
Ref. dynare#1600
2021-01-08 18:51:48 +01:00
Sébastien Villemot
f5760c33ea
CI: on macOS, enforce flex and bison from Homebrew
2021-01-07 18:35:02 +01:00
Sébastien Villemot
6efad1447f
More robust way of finding the absolute path to FlexLexer.h
...
Ref. #575
2021-01-07 18:33:10 +01:00
Sébastien Villemot
a9daec1c07
Rename preprocessor binary to dynare-preprocessor
...
Ref. dynare#1728
2021-01-06 17:08:42 +01:00
Sébastien Villemot
93f233738b
Updates to README
2021-01-06 16:09:35 +01:00
Sébastien Villemot
cd443a6083
Revert to accepting the “nolog” option, but do nothing about it
...
This is necessary to avoid an “unknown option” error.
Ref. dynare#1743
2021-01-06 15:50:30 +01:00
Sébastien Villemot
78874a01d3
No longer deal with the log file at the preprocessor level
...
Ref. dynare#1743
2021-01-06 14:19:33 +01:00
Sébastien Villemot
7f77c4df60
Merge branch 'schur_vec_tol' into 'master'
...
Add interface to set Schur_vec_tol
See merge request Dynare/preprocessor!29
2020-12-18 13:00:37 +00:00
Johannes Pfeifer
1def52a088
Add interface to set schur_vec_tol
2020-12-17 19:55:20 +01:00
Sébastien Villemot
1f7ed12d4a
CI: bump Boost version used for Windows preprocessor binaries for Julia
2020-12-17 15:30:45 +01:00
Sébastien Villemot
91db87b1cf
Forbid some basenames, since they will cause trouble
...
Closes: preprocessor#62
2020-12-16 18:21:55 +01:00
Sébastien Villemot
84d79226cd
Lexer: no longer associate a semantic value to GMM and SMM tokens
...
This was forgotten from commit 78f6d48601
.
2020-12-14 19:10:29 +01:00
Sébastien Villemot
e74bac52e6
Merge branch 'analytic_standard_errors' into 'master'
...
GMM: introduce option analytic_standard_errors
See merge request Dynare/preprocessor!28
2020-12-14 16:09:21 +00:00
Johannes Pfeifer
78f6d48601
GMM: introduce option analytic_standard_errors
2020-12-12 09:36:40 +01:00
Sébastien Villemot
7baeda8b8d
Occbin: add equation number in M_.occbin.constraint structure
...
Ref. #569
2020-12-10 15:57:47 +01:00
Sébastien Villemot
f67e9c044b
JSON output: fix “variable_mapping” for Ramsey models
...
Ref. dynare#1755
2020-12-09 17:32:29 +01:00
Sébastien Villemot
bf1da3c6fb
JSON output: fix logic in “variable_mapping” that could lead to invalid JSON formatting
...
Ref. dynare#1755
2020-12-09 16:47:55 +01:00
Sébastien Villemot
ec779235ea
Macro-processor: move environment out of node classes
...
This completes the separation of parse trees from their evaluation.
Closes : #32
2020-12-07 17:29:05 +01:00
Sébastien Villemot
638b4c7ac5
Ensure that all statements produce an output in JSON mode
2020-11-26 16:25:22 +01:00
Sébastien Villemot
a99ca9f450
Remove obsolete “var_estimation” statement
2020-11-26 16:13:52 +01:00
Sébastien Villemot
1b40327639
Remove obsolete “restrictions” block
2020-11-26 16:13:49 +01:00
Sébastien Villemot
c697a63119
Fix typo
2020-11-25 18:08:49 +01:00
Sébastien Villemot
9292b0692e
Rename DetCondForecast to DetCondForecastStatement, for naming consistency
2020-11-25 17:40:00 +01:00
Sébastien Villemot
4b8290faa5
Do not crash when unknown symbol is passed to “irf_shocks” option
...
Closes : #57
2020-11-18 17:47:37 +01:00
Sébastien Villemot
b1df9ecc38
Parallel config file: switch back to DynarePath field (instead of ProgramPath)
...
This is a partial revert of f022f666b7
Ref. dynare#1748
2020-11-13 15:35:01 +01:00
Sébastien Villemot
cfb41d291c
Substitute out model-local variables early in the model transform pass
...
Incidentally, this makes it possible to use model-local variables with either
the “block” or “bytecode” option. (Ref: dynare#1243)
2020-11-10 18:07:57 +01:00
Sébastien Villemot
1e419a48e4
Remove unused function
2020-11-10 18:02:06 +01:00
Sébastien Villemot
9bca65c7e5
Deterministic models: replace exogenous with lead/lags by auxiliary variables
...
This brings those models in line with stochastic models.
However note that transformation is still not exactly the same on stochastic
and deterministic models, because there is no need to take into account the
Jensen inequality on the latter. In deterministic models, there is a one-to-one
mapping between exogenous with lead/lags and auxiliaries, while in stochastic
models, an auxiliary endo may correspond to a more complex nonlinear expression.
2020-11-09 16:28:32 +01:00
Sébastien Villemot
5d564eed07
Fix the interpretation of @#elseif clauses within an @#ifdef or @#ifndef
2020-11-02 12:47:33 +01:00
Sébastien Villemot
df8d8ef116
Fix logic for @#ifndef
...
Ref. dynare#1747
2020-11-02 12:27:27 +01:00
Stéphane Adjemian (Charybdis)
abf5a6553b
Removed useless subfield (only julia output).
...
TODO: Check that we can do the same in the matlab version…
2020-10-21 18:16:07 +02:00
Stéphane Adjemian (Charybdis)
b8f7b5846b
Fixed flags for temporaries (julia output).
2020-10-21 16:37:13 +02:00
Sébastien Villemot
56581b1dd4
PAC model: make detection of non-optimizing part more robust
...
Introduce a new method for decomposing a product of factors, so that we can
identify expressions of the form (1-optim_share)*A*B.
Also enforce that the optim_share parameter be in a factor of the form
1-optim_share (previously it would accept any expression containing the
parameter).
Note that this fix does not yet allow to actually write non-optimizing parts of
the form (1-optim_share)*A*B, since at a later point the preprocessor imposes
that this part be a linear combination of variables (but in the future we could
think of expanding the A*B product into a linear combination if, for example, A
is a paramater or a constant and B is a linear combination).
Closes : #50
2020-10-19 18:32:30 +02:00
Sébastien Villemot
db3ef925a7
Fix handling of diffLead in SymbolTable::getOrigLeadLagForDiffAuxVar()
2020-10-16 16:31:55 +02:00
Sébastien Villemot
d2cbe2a19e
PAC model: fixes to M_.pac.MODEL.ar (information about autoregressive part)
...
– Fix order of items in this structure. Previously, items were ordered
according to the declaration order of parameters. Now, items are order
according to lag order (first lag appears first)
– Gracefully handle the case where there is no autoregressive part
(Closes : #52 )
2020-10-16 16:31:51 +02:00
Sébastien Villemot
740ea833f6
Block decomposition: bugfix for solve one boundary blocks with mfs>0
...
Ref. dynare#1726
2020-10-07 18:55:19 +02:00
Sébastien Villemot
e736b9234f
Minor simplification
2020-10-07 17:15:53 +02:00
Sébastien Villemot
4560639eb4
Block decomposition: fix evaluation of recursive variables in solved blocks
...
Ref. dynare#1726
2020-10-06 18:30:34 +02:00
Sébastien Villemot
5979885714
Block decomposition, chain rule derivation: code improvement
2020-10-02 18:31:55 +02:00
Sébastien Villemot
d347a92f14
Drop ExprNode::containsExogenous()
...
Replace it by calls to ExprNode::collectVariables() at the single place where
it was used.
2020-09-29 18:41:31 +02:00
Sébastien Villemot
063207e71f
ExprNode::collectEndogenous() is not a virtual method
2020-09-29 18:41:31 +02:00
Sébastien Villemot
2424b7358c
Remove unused ExprNode::collectExogenous()
2020-09-29 18:41:31 +02:00
Sébastien Villemot
b0bd031a9f
Remove unused ExprNode::containsEndogenous()
2020-09-29 18:41:31 +02:00
Sébastien Villemot
7f05489639
Simplify ExprNode::findConstantEquations()
2020-09-29 18:41:31 +02:00
Sébastien Villemot
a377fc8398
Fix various potential bugs with model local variables
...
Many recursive function on ExprNodes were not correctly recursing into the
definition of model local variables.
2020-09-29 18:41:17 +02:00
Sébastien Villemot
e4687bb976
Ensure that negative constants are never marked as temporary terms
2020-09-23 17:28:53 +02:00
Sébastien Villemot
571ea3eb8a
SymbolTable: add some const qualifiers
2020-09-23 17:28:04 +02:00
Sébastien Villemot
8f31e443d6
SymbolTable::getTypeSpecificID() now throws an exception instead of returning -1 when symbol does not have a type-specific ID
...
This can potentially avoid some undetected bugs.
2020-09-23 17:09:36 +02:00
Houtan Bastani
7ba77751c3
simplify external function C output
2020-09-18 17:05:54 +02:00
Sébastien Villemot
98d01cbbb6
Provide a meaningful error message when 'use_dll' option is used without 'matlabroot'
2020-09-18 15:00:47 +02:00