This change tracks the set of imported modules in the ast.Module structure. Although we can in principle gather up all imports simply by looking through the fully qualified names, that's slightly hokey; and furthermore, to properly initialize all modules, we need to know in which order to do it (in case there are dependencies). I briefly considered leaving it up to MetaMu compilers to inject the module initialization calls explicitly -- for infinite flexibility and perhaps greater compatibility with the source languages -- however, I'd much prefer that all Mu code use a consistent module initialization story. Therefore, MetaMus declare the module imports, in order, and we will evaluate the initializers accordingly. |
||
---|---|---|
.. | ||
cmd | ||
lib | ||
tests | ||
.gitignore | ||
mujs | ||
package.json | ||
README.md | ||
tsconfig.json | ||
tslint.json | ||
yarn.lock |
MuJS
This directory contains Mu's JavaScript compiler.
It implements a subset of JavaScript with TypeScript-style type annotations, and can compile that subset into MuPack/IL.