summaryrefslogtreecommitdiff
path: root/TODO
blob: 2d6b5c325fb4963a0f002b768eaa2f021c56ffe3 (plain)
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
# 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.

# ELF generation

- Don't ignore relocations where the symbol is not defined in the symbol table.
  Report an error about an undefined symbol.

# Name analysis

- Format error messages.
- Return non-zero error code on errors.

# Built-in

- Implement printc (with int argument).
- Implement exit() as standalone function.

# Register allocation

- Temporary variables always use the same register, t0. Allocate registers for
  temporaries.

# Other

- Type analysis.
- Move platform dependent code generation into a submodule.