27 lines
760 B
Markdown
27 lines
760 B
Markdown
|
Compilation pipeline
|
||
|
--------------------
|
||
|
|
||
|
### `compile`
|
||
|
`parse` → `optimize`
|
||
|
|
||
|
Parse produced IR without offsets and optimize produces flattened IR. For
|
||
|
more details about Gir's IR, see `ir.md`. For more details about `compile()`
|
||
|
see `api.md`
|
||
|
|
||
|
### `optimize`
|
||
|
`joinAdjacentOps` → `transformClearLoops` → `addOffsetProperties` →
|
||
|
`transformMultiplyLoops` → `flattenLoops`
|
||
|
|
||
|
For more details about optimization, see `optimizations.md`
|
||
|
|
||
|
Interpreter
|
||
|
-----------
|
||
|
For more details about `newVM()` and `runVM()` see `api.md`
|
||
|
|
||
|
### `newVM`
|
||
|
Created a new VM state object that can be passed to `runVM()`
|
||
|
|
||
|
### `runVM`
|
||
|
Takes a VM state object, executed it, and returns a new VM state object
|
||
|
describing the state after execution. The old state object is not modified
|