Commit Graph

87 Commits

Author SHA1 Message Date
QuentinOchem
4f5d2c3391 fixed full name in return type local 2021-11-30 09:21:17 -05:00
QuentinOchem
3589e5af78 improved block generation to remove empty ones 2021-11-29 15:21:17 -05:00
QuentinOchem
e1338bf6b1 fixed bindings to arrays of accesses 2021-11-23 16:49:03 -05:00
QuentinOchem
911c4b46b9 fixed access to subprogram with local types 2021-11-23 16:28:15 -05:00
QuentinOchem
b37a164d22 added full qualification of local variables 2021-11-23 10:37:59 -05:00
QuentinOchem
182884f6c3 Fixed issues identified with new fdump-ada-specs generator. 2021-11-23 09:49:01 -05:00
QuentinOchem
6701e8ec5d implemented transformation from address to in-mode array 2021-05-13 12:11:17 -04:00
QuentinOchem
f2c35e8376 added new transformation 2021-05-11 15:00:16 -04:00
QuentinOchem
079187bbb7 added support for changing types when transforming access parameters 2021-05-02 19:24:44 -04:00
QuentinOchem
0801571bfc Removed two-stages expression evaluations with allocators.
We had an experimental capabilities allowing something like
   child (A or new something ())
to work so that so "A or new someting ()) would first be evaluated on all
child nodes without the allocator as to try to find a match without
allocating, then with the allocator. This ended up only serving very
specific cases - being overall confusing and complicating the code. This
capability is now removed, and the above can be easily refactored into a
more explicit expression:
   child (A) or child (new something ())
2020-09-29 10:43:38 -04:00
QuentinOchem
9d644bd93d documented and cleaned up frames 2020-09-27 18:44:27 -04:00
QuentinOchem
6c2d5d8b9c further documentation and cleanup in expressions 2020-09-25 22:42:29 -04:00
QuentinOchem
0bea20b6cc finalized documentation of runtime spec and corresponding cleanups 2020-09-23 22:05:22 -04:00
QuentinOchem
f180814cdb added support to nested ada packages 2020-09-21 21:19:24 -04:00
Quentin Ochem
23a4523017 Updated tests and runtime to new string semantics (#11) 2020-09-14 21:58:50 -04:00
Quentin Ochem
c3242aa269 Updated ada/wrappers following new string semantics. (#11) 2020-09-14 21:08:06 -04:00
Quentin Ochem
97a1160eb1 Implemented support to p_base_type for #9
This is a partial implementation, requires support to libadalang array to support
the version returning arrays.
Properties were handled as fields. They are now implemented as function. This required
to update various places where properties were used like predicates, and use the
filter function instead.
Filter is fixed, doesn't fail anymore in case of a non-matching prefix in a matching
call, and properly sets 'it' and reset the yield callback when matching the expression.
Regular expressions were possibly interrupting the outer iteration when matching
before generation of values - now fixed.
2020-09-05 23:06:09 -04:00
Raphaël AMIARD
72c3baab1e Strip whitespace 2020-09-01 11:06:35 +02:00
Quentin Ochem
9b02ba2851 Implemented and take advante of walk command 2020-08-28 16:13:35 -04:00
Quentin Ochem
f8ec4185be Switch 'self' to 'it'
The usage of the word 'self' to refer to the current iteration became increasingly
confusing with the usual OOP counterpart, in particular because its value can change
in a single expression, independendly of the surrounding object. See previous check
in that uncovered its usage in the fold function.
2020-08-23 22:03:48 -04:00
Quentin Ochem
479c586ad7 Updated usage of fold
Aggregator are actually computed in an interation, take advantage
of that fact to avoid having to expressed captured value.
2020-08-23 21:31:20 -04:00
Quentin Ochem
1e45c2139f Finalized proxy demonstrator. 2020-08-20 23:33:39 -04:00
Quentin Ochem
2cbc6a1008 Updated proxy generation to latest changes
Also simplified ada2proxy tests, now only checking compilation.
Added simple_record test from ada to proxy.
2020-08-20 21:39:11 -04:00
Quentin Ochem
c7e42c9062 Improved fold syntax
Allowing to use @ to update currently updated value.
Also improved performances of Top_Frame & Parent_Frame, using direct references
instead of expensive function calls.
2020-08-20 21:05:06 -04:00
Quentin Ochem
0f967db09b Renamed lambda into defer
This allows to show the proximity of now-called deferred expression and deferred
commands in the language.
2020-08-20 12:56:58 -04:00