-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTODO
38 lines (24 loc) · 1.22 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
TASKS LIST FOR PIRC COMPLETION
This is an overview of tasks in order to complete PIRC.
By "complete", or "completion", it is meant to be able
to use PIRC as a PIR compiler, without needing the current
PIR compiler, IMCC.
Fairly randomly sorted, the tasks are:
[DONE] 1. Emit the actual bytecodes into a PackFile/codesegment.
[DONE] 2.a Create a PMC constant for strings, numbers and
subroutines.
[DONE] 2.b Create a PMC constant for keys
[TODO] 3. Complete PASM output, so it can actually be parsed and run.
[DONE] 4. Handle :multi flag properly.
[TODO] 5. Handle nested macro expansions.
[TODO] 6. Fix all memory leaks. this should be trivial, given PIR's built-in
allocated-memory-pointer-registering infrastructure. In some
places this is not used yet, and in others, it's not necessary
to use it (but in those mem_sys_free() must be called explicitly).
[DONE] 7. Figure out how :named argument passing works in bytecode.
[DONE] 8. Finish the parrot calling conventions ops in the back-end
(var.args must be fixed).
[DONE] 9.a Handle :slurpy
[DONE] 9.b Handle :flat
[DONE] 10. Handle indexed assignments in bytecode.
More tasks will be added as I think of them. --kjs