Sébastien Villemot
74ef3457b4
Use secure URL for link to GNU licenses
2021-06-09 17:21:00 +02: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
e2d5a83592
Global reindentation
2019-12-20 16:59:30 +01:00
Houtan Bastani
8dc70602c8
macro processor: move evaluation of all arguments for unary, binary, and trinary ops into their switch cases
2019-12-10 16:33:32 +01:00
Houtan Bastani
952e899f3a
fix bug in macro processor ensuring short-circuit functionality of `||` and `&&` statements
...
closes dynare#1676
2019-12-10 16:30:11 +01:00
Houtan Bastani
a61565bd01
macro processor: fix bug in cast of string to bool
...
The incorrect `equal` template was being used.
2019-11-26 11:11:34 +01:00
Houtan Bastani
4540bed06c
macro processor: missed if statement with initializer for C++17
2019-11-26 10:40:51 +01:00
Houtan Bastani
4e3bf09495
macro processor: fix typo that caused logical or not to work when one of the arguments is Real == 1 and other arguments are false
2019-11-26 10:39:16 +01:00
Houtan Bastani
ef4710cdb1
macro processor: fix for loops
2019-10-29 11:21:09 +01:00
Houtan Bastani
217dadabbd
Use `if` statements with initializers allowed by C++17
2019-10-29 11:20:13 +01:00
Houtan Bastani
361e99bee5
simplify code
2019-10-28 17:25:40 +01:00
Houtan Bastani
7b13ee1b3a
macro processor: remove unused variable
2019-10-24 17:52:32 +02:00
Houtan Bastani
93077bbcdd
macro processor: fix bug in range when start point == end point
2019-10-02 10:22:46 +02:00
Houtan Bastani
d4ad2cbb5e
macro processor: Expression class has to_string function as well, so no need for cast
2019-08-23 12:07:31 +02:00
Houtan Bastani
7f96d4a1c9
macro processor: remove unnecessary check in Function evaluation
...
Not necessary because of parser rules for function definition
2019-08-23 11:12:36 +02:00
Houtan Bastani
6ced2aaedb
macro processor: fix bug in array power: disallow reals that are not integers
2019-08-22 15:44:31 +02:00
Houtan Bastani
48466f0e10
macro processor: remove double evaluations of ExpressionPtr
2019-08-21 18:07:40 +02:00
Houtan Bastani
cfc7a1467b
macro processor: fix error message
2019-08-20 15:21:41 +02:00
Houtan Bastani
6e523aaf28
macro processor: add immutable Range class, making Array immutable
2019-08-20 15:21:41 +02:00
Houtan Bastani
b77f6ecd94
macro processor: add `defined` operator
2019-08-19 15:14:51 +02:00
Houtan Bastani
273c54f7fb
macro processor: introduce functions to test types of variables and literals
2019-08-07 14:16:15 -04:00
Houtan Bastani
d35f2609fe
macro processor: implement `isempty`
2019-08-07 11:59:14 -04:00
Houtan Bastani
eeb5600845
more changes missed in `309326c372b140d4e6e459b2139d957c246c6512`
2019-08-07 10:48:25 -04:00
Houtan Bastani
309326c372
macro processor: change name of Double type to Real
2019-08-07 10:37:35 -04:00
Houtan Bastani
ddd4361887
macro processor: remove unnecessary `std` namespace specifier
2019-08-06 17:02:25 -04:00
Houtan Bastani
fcb1982de8
macro processor: only allow conversion to boolean from strings that precisely contain numeric values or true or false
2019-08-06 17:01:10 -04:00
Houtan Bastani
86538bed1c
macro processor: only allow conversion to double from strings that precisely contain numeric values
2019-08-06 14:48:55 -04:00
Houtan Bastani
618bf7c987
macro processor: remove cast to int
2019-08-06 14:10:11 -04:00
Houtan Bastani
72c216fd7c
macro processor: fix error messages
2019-08-06 11:31:56 -04:00
Houtan Bastani
b3798a0baa
macro processor: introduce bool casts
2019-08-05 16:30:29 -04:00
Houtan Bastani
eaa8b8fa84
macro processor: introduce array casts
2019-08-02 17:00:23 -04:00
Houtan Bastani
2b1eedd132
macro processor: introduce tuple casts
2019-08-02 16:56:01 -04:00
Houtan Bastani
7e085855b3
macro processor: introduce string casts
2019-08-02 15:19:00 -04:00
Houtan Bastani
5442512904
macro processor: introduce double casts
2019-08-02 15:03:05 -04:00
Houtan Bastani
5fc83fad29
macro processor: introduce integer casts
2019-08-02 14:53:24 -04:00
Houtan Bastani
4a3423f74f
macro processor: fix typos
2019-08-02 14:34:50 -04:00
Houtan Bastani
866e4d6d39
macro processor: introduce colon operator with three args
...
This introduces a shift/reduce compilation warning in the macro processor because at expr COLON expr . COLON expr the parser doesn’t know whether to shift or reduce
2019-07-15 16:29:04 -04:00
Houtan Bastani
63b2117587
macro processor: remove unnecessary includes
2019-06-27 13:57:19 +02:00
Houtan Bastani
8b19565372
macro processor: prefer superfluous parenthesis when printing than printing with incorrect precedence
2019-06-27 11:48:03 +02:00
Houtan Bastani
bde7c47117
macro processor: combine comprehension classes
2019-06-27 11:44:51 +02:00
Houtan Bastani
6686344acb
fix typos introduced in 68789da6a1
2019-06-25 17:02:26 +02:00
Houtan Bastani
68789da6a1
macro processor: aesthetic changes
2019-06-25 16:52:17 +02:00
Houtan Bastani
d5f728c0a3
macro processor: support array comprehension
2019-06-25 16:50:26 +02:00
Houtan Bastani
2bd6282aef
Revert "macro processor: support array comprehension" (should not have been pushed yet)
...
This reverts commit f2c93d377f
.
2019-06-25 12:14:03 +02:00
Houtan Bastani
b041cb4fba
macro processor: remove unnecessary function
2019-06-25 12:12:34 +02:00
Houtan Bastani
f2c93d377f
macro processor: support array comprehension
2019-06-25 11:15:15 +02:00
Houtan Bastani
cd9dfa64cb
macro processor: inline function
2019-06-25 11:14:00 +02:00
Houtan Bastani
e5121176a9
fix typo/aesthetic fixes
2019-06-24 16:55:36 +02:00
Houtan Bastani
4c6032895d
macro processor: fix bug in indexing of strings/arrays
2019-06-24 15:57:00 +02:00
Houtan Bastani
a3e63101f4
support `save` option of @#echomacrovars
2019-06-24 11:06:31 +02:00