compiler.cfg.builder vocabulary
Factor handbook ยป Vocabulary index


Documentation
Final stage of compilation generates machine code from dataflow IR

Metadata
Tags:compiler
Authors:Slava Pestov


Words

Generic words
WordStack effect
emit-node( block node -- block' )


Symbol words
loops
procedures


Ordinary words
WordStack effect
(build-cfg)( nodes word label -- )
begin-cfg( word label -- cfg )
begin-word( block -- block' )
build-cfg( nodes word -- procedures )
emit-actual-if( block #if -- block' )
emit-branch( nodes block -- pair/f )
emit-call( block word height -- block' )
emit-if( block node -- block' )
emit-loop( block #recursive -- block' )
emit-loop-call( successor-block current-block -- )
emit-nodes( block nodes -- block' )
emit-recursive( block #recursive -- block' )
emit-trivial-if( -- )
emit-trivial-not-if( -- )
end-word( block -- block' )
ex-emit-call( -- string )
ex-make-input-map( -- string )
extract-outputs( #shuffle -- pair )
height-changes( #shuffle -- height-changes )
make-input-map( #shuffle -- assoc )
out-vregs/stack( #shuffle -- pair )
recursive-height( #recursive -- n )
store-height-changes( #shuffle -- )
trivial-branch?( nodes -- value ? )
trivial-if?( #if -- ? )
trivial-not-if?( #if -- ? )
with-cfg-builder( nodes word label quot: ( ..a block -- ..b ) -- )
with-dummy-cfg-builder( node quot -- )


Files


Metadata files


Children from resource:basis
VocabularySummary
compiler.cfg.builder.alien
compiler.cfg.builder.blocks