Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Last revisionBoth sides next revision
about:sac2c [2016/10/19 22:25] – created hnvabout:sac2c [2016/10/19 22:34] hnv
Line 1: Line 1:
 +
 +
 +
 +
 +
 +
 ====== About sac2c ====== ====== About sac2c ======
  
Line 12: Line 18:
 However, C is used as an intermediate language in order to achieve portability among different target architectures and to reuse existing compiler technology for the generation of machine specific code. However, C is used as an intermediate language in order to achieve portability among different target architectures and to reuse existing compiler technology for the generation of machine specific code.
  
-The following graphic illustrates the major compilation phases of sac2c. Most of the intermediate phases operate on a code representation that is based on static single assignment form (SSA). To achieve this two additional phases called Fun2LaC and LaC2Fun transform intermediate SAC code into this convenient format and vice versa. For example, front-end representations of loops and if-clauses are transformed to what they actually represent: tail-end recursive functions and functional conditionals. +The following graphic illustrates the major compilation phases of sac2c. Most of the intermediate phases operate on a code representation that is based on static single assignment form (SSA). To achieve this two additional phases called Fun2LaC and LaC2Fun transform intermediate SAC code into this convenient format and vice versa. For example, front-end representations of loops and if-clauses are transformed to what they actually represent: tail-end recursive functions and functional conditionals. 
 + 
 +{{ :about:comp_phases.png|Compilation Phases}}