elna/TODO

37 lines
1.2 KiB
Plaintext
Raw Normal View History

2024-08-17 14:16:16 +02:00
# Intermediate code generation
2024-09-27 00:22:44 +02:00
- 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.
2024-09-08 22:53:07 +02:00
# ELF generation
- Don't ignore relocations where the symbol is not defined in the symbol table.
Report an error about an undefined symbol.
2024-10-08 17:29:08 +02:00
- JumpLabels inside functions are encoded as functions. Distinguish between
labels (e.g. .A0 or .L0) and global functions. Lables are NOTYPE LOCAL.
- Sort the symbols so that local symbols come first. Some table header had a
number specifiying the index of the first non-local symbol. Adjust that number.
2024-09-20 13:32:24 +02:00
# Name analysis
- Format error messages.
2024-09-24 22:20:57 +02:00
- Return non-zero error code on errors.
2024-09-29 19:50:55 +02:00
# Register allocation
2024-10-06 18:07:57 +02:00
- Each temporary variales 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.
2024-09-27 00:22:44 +02:00
2024-10-04 18:26:10 +02:00
# Prarsing and abstract syntax tree
- Parse signed hexadecimal numbers.
2024-10-01 00:02:19 +02:00
# Other
- Type analysis.
2024-10-08 17:29:08 +02:00
- Generate a call to _divide_by_zero_error on RiscV.