apfl/src
Laria Carolin Chabowski 8ca24bcd49 Implement subfunctions and argument matching
A function can now have multiple subfunctions with their own parameter
list. These parameters are now no longer constrained to variables and
blanks only, but can also be consts and list destructurings (predicates
are also already compiled but don't get evaluated yet). The first
subfunction that matches the argument list gets evaluated.
2022-08-13 00:50:26 +02:00
..
alloc.c Introduce allocator abstraction 2022-02-08 22:53:13 +01:00
alloc.h Move allocation macros from internal.h to alloc.h 2022-04-22 21:43:19 +02:00
apfl.h Implement subfunctions and argument matching 2022-08-13 00:50:26 +02:00
bytecode.c Implement subfunctions and argument matching 2022-08-13 00:50:26 +02:00
bytecode.h Implement subfunctions and argument matching 2022-08-13 00:50:26 +02:00
compile.c Implement subfunctions and argument matching 2022-08-13 00:50:26 +02:00
compile.h Implement mark&sweep garbage collection and bytecode compilation 2022-04-11 22:24:22 +02:00
context.c Implement subfunctions and argument matching 2022-08-13 00:50:26 +02:00
context.h Implement subfunctions and argument matching 2022-08-13 00:50:26 +02:00
error.c Push some errors as const strings onto the stack 2022-04-24 16:13:39 +02:00
eval.c Implement subfunctions and argument matching 2022-08-13 00:50:26 +02:00
expr.c Ditch that weird internal.h header 2022-04-22 23:17:28 +02:00
format.c format: Don't try (and fail) to write an empty buffer 2022-07-14 21:51:41 +02:00
format.h Implement first global function "print" 2022-07-12 22:13:07 +02:00
gc.c gc: New debug flag to log oject creation/destruction 2022-08-12 14:50:28 +02:00
gc.h Implement matching assignments 2022-07-28 20:46:32 +02:00
globals.c Implement subfunctions and argument matching 2022-08-13 00:50:26 +02:00
globals.h Implement first global function "print" 2022-07-12 22:13:07 +02:00
hashmap.c hashmap: Improve cursor / peek API 2022-04-11 23:31:20 +02:00
hashmap.h hashmap: Improve cursor / peek API 2022-04-11 23:31:20 +02:00
hashmap_test.c hashmap: Improve cursor / peek API 2022-04-11 23:31:20 +02:00
main.c main: Make eval the default mode 2022-07-15 21:57:35 +02:00
Makefile.am Implement matching assignments 2022-07-28 20:46:32 +02:00
matcher.c matcher: Fix relying on GC'ed milist in deinit function 2022-08-12 14:42:49 +02:00
matcher.h matcher: Fix relying on GC'ed milist in deinit function 2022-08-12 14:42:49 +02:00
messages.c Implement subfunctions and argument matching 2022-08-13 00:50:26 +02:00
parser.c Move variable out of switch 2022-06-05 22:30:18 +02:00
parser_test.c Use formatter for expr printing 2022-04-22 22:52:53 +02:00
position.c Initial commit 2021-12-15 21:47:17 +01:00
resizable.c Implement mark&sweep garbage collection and bytecode compilation 2022-04-11 22:24:22 +02:00
resizable.h gc+context: Make stack no longer a gc object 2022-07-01 22:40:43 +02:00
resizable_test.c Introduce allocator abstraction 2022-02-08 22:53:13 +01:00
scope.c Implement functions and function calls 2022-07-11 21:41:05 +02:00
scope.h Implement functions and function calls 2022-07-11 21:41:05 +02:00
source_readers.c Redo source reader interface 2022-04-15 22:35:36 +02:00
strings.c Ditch that weird internal.h header 2022-04-22 23:17:28 +02:00
strings.h Ditch that weird internal.h header 2022-04-22 23:17:28 +02:00
test.h Introduce allocator abstraction 2022-02-08 22:53:13 +01:00
token.c Implement mark&sweep garbage collection and bytecode compilation 2022-04-11 22:24:22 +02:00
tokenizer.c Redo source reader interface 2022-04-15 22:35:36 +02:00
tokenizer_test.c Redo source reader interface 2022-04-15 22:35:36 +02:00
value.c Implement subfunctions and argument matching 2022-08-13 00:50:26 +02:00
value.h Implement subfunctions and argument matching 2022-08-13 00:50:26 +02:00