Commit graph

9 commits

Author SHA1 Message Date
20c2880f4c Implement assigning into dictionaries
It's now possible to assign to a key of a dictionary and even to a nested
key path.

This patch changes the way matchers work a bit:
First, a function call stack frame now has a stack of matchers that are
manipulateable instead of a single matcher.
Second, the matcher is now in charge of setting the matched values to the
variables (previously the caller of the matcher needed to extract the
matched values and assign them itself). This change simplifies code
generation, especially for chained assignments and dictionary key paths.

This removes the last usage of APFL_ERR_NOT_IMPLEMENTED :)
2022-11-19 23:26:52 +01:00
7c5465d266 Add a test for chained assignments 2022-11-19 21:27:08 +01:00
0682b5464d Add test for == function 2022-11-08 22:03:05 +01:00
97d79754dd Implement while 2022-11-08 22:03:05 +01:00
18ae382414 Add test for if 2022-10-31 15:50:51 +01:00
0836b8c97c Implement global functions not, len and type 2022-10-31 15:29:01 +01:00
154cc42740 globals: Fix math operations returning argument list on single arg 2022-10-30 23:08:41 +01:00
39578c9478 Add more functional tests 2022-10-30 23:07:53 +01:00
b7015e7b13 Implement a simple test runner for functional tests 2022-10-30 22:51:51 +01:00