summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2024-11-06 22:23:49 +0100
committerEugen Wissner <belka@caraus.de>2024-11-06 22:23:49 +0100
commit060496fc6ee331e2710ff8ade23317a0a79cbd6c (patch)
tree9af7b8f8767449bea7ae9a76e244141118ae5e75 /TODO
parente2d4b76c0bbad6c0740f5322e862a02971802e87 (diff)
downloadelna-060496fc6ee331e2710ff8ade23317a0a79cbd6c.tar.gz
Parse local variables
Diffstat (limited to 'TODO')
-rw-r--r--TODO17
1 files changed, 13 insertions, 4 deletions
diff --git a/TODO b/TODO
index ec3d028..5da4303 100644
--- a/TODO
+++ b/TODO
@@ -1,9 +1,12 @@
# Intermediate code generation
-- To access named parameters and local variables inside a procedure, IR should
- be able to reference them. During the generation the needed information (e.g.
- offsets or registers) can be extracted from the symbol table and saved in the
- operands.
+- To access named parameters inside a procedure, IR should be able to reference
+ them. During the generation the needed information (e.g. offsets or registers)
+ can be extracted from the symbol table and saved in the operands.
+- Glue always generates the same intermediate variable (LocalVariable 0) for
+ local variables. (LocalVariable 0) is handled the same as temporary variables
+ that are currently saved only in registers. There space on the stack allocated
+ for local variables.
# ELF generation
@@ -15,3 +18,9 @@
- Each temporary variable gets a tn register where n is the variable index. If
there more variables the allocation will fail with out of bounds runtime
error. Implement spill over.
+- The allocator puts temporary and local variables into the same registers,
+ causing conflicts.
+
+# Language
+
+- Array support.