* 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 static parameter names (in assignments and expansions) and static function names (in definitions and calls) with TU and function - Replace non-static parameter names with eval to prefix names with SP - Symbol table needed to track global vs local and static vs non-static symbols - 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-symbols option to eshtrans to disable prefixing and insert a flag in generated code to enable eshrt to update variables - Or just add a function or operator to resolve/unmangle symbol names at run time (collected from a symbol table in the generated code) * 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)