summaryrefslogtreecommitdiffstats
path: root/TODO
blob: 45d522d3438de2e4c9489ae5a0191a8191c0f655 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  * Store static variable values in eval array (two dimensions: TU and variable
    name)
  * Save static variable values in ctxsw
  * Implement associative arrays
    - TBD: syntax/functions
    - Use `__x__` between array name and index name
      Example: array `arr_` and index `ind`: stored as `__arr_arr___x__ind`
      Example: array `arr` and index `_ind`: stored as `__arr_arr__x___ind`
      Example: array `arr_` and index `_ind`: stored as `__arr_arr___x___ind`
  * Consider ctxsw optimization:
    - In backend, prefix parameter names (in assignments and expansions) with TU
      and function
    - In eshrt, remove variable updating code
    - Caveat: breaks variable parameter names in eval
    - If arrays are implemented, would anyone still need variable parameter
      names?
    - Maybe add -fno-mangle-vars option to eshtrans to disable prefixing and
      insert a flag in generated code to enable eshrt to update variables
  * Build system
    - Pre-built toolchain in source tree
    - configure looks for toolchain on system, uses included toolchain if not
      found
    - Top-level makefile directs build process (simple and bootstrap builds)