Commit Graph

34 Commits (cb411e5642ecd6978c86d4ad3dfca15fa840c913)

Author SHA1 Message Date
Houtan Bastani f57fb54a45 preprocessor: support echomacrovars(save). closes #1564 2017-12-04 16:56:43 +01:00
Houtan Bastani f836aa92c5 macroprocessor: add @#echomacrovars command. #1564 2017-12-01 16:55:36 +01:00
Houtan Bastani dff540df4e preprocessor: allow passing mod file as string. Closes #1509
Usage: ./dynare_m $'<<mod file text>>'

The $’’ expands special characters. This is necessary because our setup for native matlab statements require that they end with a newline. In other words, the rest of the mod file can be sent on one line, but if there is a native matlab statement you must enter a `\n` after it.

NB: In this case, apostrophes must be escaped: ' becomes \'

e.g., to run tests/example1.mod:
./dynare_m  $'//Example 1 from Collard\'s guide to Dynare\nvar y, c, k, a, h, b;varexo e, u;verbatim;% I want these comments included in\n% example1.m 1999q1 1999y\n%\nvar = 1;\nend;parameters beta, rho, alpha, delta, theta, psi, tau;alpha = 0.36;rho   = 0.95;tau   = 0.025;beta  = 0.99;delta = 0.025;psi   = 0;theta = 2.95;phi   = 0.1;\nmodel;c*theta*h^(1+psi)=(1-alpha)*y;k = beta*(((exp(b)*c)/(exp(b(+1))*c(+1)))*(exp(b(+1))*alpha*y(+1)+(1-delta)*k));y = exp(a)*(k(-1)^alpha)*(h^(1-alpha));k = exp(b)*(y-c)+(1-delta)*k(-1);a = rho*a(-1)+tau*b(-1) + e;b = tau*a(-1)+rho*b(-1) + u;end;initval;y = 1.08068253095672;c = 0.80359242014163;h = 0.29175631001732;k = 11.08360443260358;a = 0;b = 0;e = 0;u = 0;end;shocks;var e; stderr 0.009;var u; stderr 0.009;var e, u = phi*0.009*0.009;end; stoch_simul;'
2017-09-08 17:40:04 +02:00
Stéphane Adjemian (Charybdis) 67482f4b7b Fixed copyright notices. 2017-05-18 18:36:38 +02:00
Stéphane Adjemian (Charybdis) d2b7503e1c Fixed indentation of c/h/cc/hh files. 2017-05-16 16:30:27 +02:00
Houtan Bastani ee6880bfdb preprocessor: macroprocessor: add @#includepath macro. #1039 2015-08-28 14:43:26 +02:00
Houtan Bastani 9f90d6ae8c preprocessor: macroprocessor: add -I switch. closes #1039 2015-08-27 16:49:12 +02:00
Houtan Bastani 02e886c744 preprocessor: add @#ifndef directive 2012-06-26 15:12:31 +02:00
Houtan Bastani bdb3ceeb64 update copyright dates for files already modified in 2012 2012-01-04 14:42:06 +01:00
Houtan Bastani 2d15137289 macroprocessor: add @#ifdef 2012-01-02 18:27:04 +01:00
Houtan Bastani c209c1cdbf implement the possibility of passing macro-processor defines on the command-line (ticket 171) 2011-03-29 18:18:46 +02:00
sebastien 3aa8876538 Beautified preprocessor code (uncrustify + emacs + manual adjustments, in particular with templates in MacroValue)
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3249 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-16 17:13:23 +00:00
sebastien 9e73eec31b Build system: fix for FlexLexer.h
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2954 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-21 10:00:47 +00:00
sebastien e337789b54 Build system: incorporate FlexLexer.h, so that one can compile on systems without flex
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2942 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-17 16:02:55 +00:00
sebastien b121f679bb trunk preprocessor: fix compatibility issues with Bison 2.4
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2442 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-02-27 14:29:08 +00:00
sebastien 2de828a643 trunk preprocessor/macro: allow empty arrays, and iteration over them in @#for loops (empty array can only be constructed through set difference for the moment)
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2401 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-02-06 15:47:26 +00:00
sebastien 1883643772 trunk preprocessor: fixed bug in the macro-processor, when the body of a @#for loop is empty
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2399 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-02-05 15:54:09 +00:00
sebastien 1740884d1d trunk preprocessor: automatic reindentation of all code with emacs
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2372 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-01-23 10:59:37 +00:00
sebastien 095ff8a75a trunk:
* updated copyright headers of all files modified since January 1st: the copyright notice now encompasses 2009
* fixed various other copyright header issues


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2364 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-01-21 14:39:24 +00:00
sebastien 0fabc27aed trunk preprocessor: added option to remove @#line statements in output of macro-processor
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2361 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-01-21 13:45:44 +00:00
sebastien 4ad7de7bb9 trunk preprocessor/macro: report the location of @#for or @#if statement when not matched by an @#endfor or an @#endif
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2304 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-12-09 16:13:03 +00:00
sebastien bc2348f0b7 v4 preprocessor:
* DynareBison.yy: added missing declaration of MODEL_INFO as a token
* various cosmetic changes


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1995 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-08-25 16:45:39 +00:00
ferhat 0e9ab2ebf4 - Bugs corrections in deterministic simulation with sparse option
- Check allowed with sparse option
- New command "MODEL_INFO" providing informations about the block structure of the model
- Memory leak corrections

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1993 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-08-25 15:06:36 +00:00
sebastien 8b7201ac17 v4 preprocessor/macro: changed escape character one more time.
New syntax:
* directives: @#include "filename.mod"
* expressions to be substituted: @{expr}


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1788 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-04-10 08:16:54 +00:00
sebastien de9c719aa4 v4 preprocessor/macro: changed the macro processor escape character from @ to $
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1780 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-04-04 14:57:01 +00:00
sebastien 95d2118111 v4 preprocessor/macro: minor fix
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1753 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-03-28 17:45:40 +00:00
sebastien 9276fcb8b6 v4 preprocessor: another minor tweak
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1752 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-03-28 17:38:10 +00:00
sebastien 76da313b98 v4 preprocessor: minor improvement related to debugging of scanning & parsing
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1751 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-03-28 17:21:45 +00:00
sebastien c04b4e4355 v4 preprocessor/macro:
* added @if/@then/@else
* added @echo and @error


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1738 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-03-07 15:58:35 +00:00
sebastien dd7764f484 v4 preprocessor/macro: added @for loops
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1724 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-02-29 16:21:01 +00:00
sebastien 818e571fdc v4 preprocessor/macro: cosmetic changes in the stack used for nested includes
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1720 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-02-22 14:03:46 +00:00
sebastien ceee9628ed v4 preprocessor/macro: added various checks and error messages
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1719 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-02-22 12:03:38 +00:00
sebastien 8412f57c90 v4 preprocessor/macro: added preliminary handling of expressions and @define
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1707 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-02-15 17:31:40 +00:00
michel 2a69caa17b v4: changing name of preprocessor directory
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1686 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-02-03 10:28:36 +00:00