[PRL] syntax-directed translation to basic blocks?
    Dave Herman 
    dherman at ccs.neu.edu
       
    Sat Apr 29 20:07:06 EDT 2006
    
    
  
Is there such a thing as a syntax-directed translation of a program into 
basic blocks? Obviously the challenge is the graph structure.
In [Wand 83], Mitch gives a syntax-directed compilation (is that what 
"transduction" means?) of an imperative language with loops into an 
abstract assembly language. That takes care of cycles, but 
interestingly, the translation seems to be unable to preserve sharing; 
specifically, it duplicates the continuation of an `if' test.
A translation into basic blocks should never duplicate a basic block. Is 
there a functional way to express this translation with sharing?
Thanks,
Dave
[Wand 83] Mitchell Wand. Loops in Combinator-Based Compilers. POPL 1983. 
http://doi.acm.org/10.1145/567067.567086
    
    
More information about the PRL
mailing list