Parse local variables

This commit is contained in:
2024-11-06 22:23:49 +01:00
parent e2d4b76c0b
commit 060496fc6e
11 changed files with 115 additions and 91 deletions

17
TODO
View File

@ -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.