aboutsummaryrefslogtreecommitdiff
path: root/TODO
blob: 6327ff29a72a5727e7007c043eb3301cb2996f89 (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
# 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.