Compiler/code generator: Difference between revisions
m
Added ;Task
m (Added ;Task) |
|||
(6 intermediate revisions by 4 users not shown) | |||
Line 1:
{{task}}{{task heading|Code Generator}}
A code generator translates the output of the syntax analyzer and/or semantic analyzer
into lower level code, either assembly, object, or virtual.
;Task
Take the output of the Syntax analyzer [[Compiler/syntax_analyzer|task]] - which is a [[Flatten_a_list|flattened]] Abstract Syntax Tree (AST) - and convert it to virtual machine code, that can be run by the
Line 1,658:
| ast_node_t_nonnil contents =>
begin
case
| NullNode () => $raise internal_error ()
Line 10,116:
{{libheader|Wren-fmt}}
{{libheader|Wren-ioutil}}
<syntaxhighlight lang="
import "./crypto" for Bytes
import "./fmt" for Fmt
import "./ioutil" for FileUtil
var nodes = [
|