float f (int i) { int j; float r; j= i*i; r= j; return r; } v ANALYSE INPUT v a function with 1 parameter and 2 variables= (int)
var 1 (int) * (int)
param 1 (int) param 1 (int)
= (float)
var 2 (float) convert int to float
var 1 (int)
return (float)
var 2 (float) v GENERATE OUTPUT v
text of program (characters) v A LEXICAL <-names-> D N words = (syntactic, semantic) I A v C L SYNTACTIC T Y assemble words into sentences I S v O I SEMANTIC <-declarations-> N S bind meanings to names A v R G GLOBAL OPTIMISATION Y E N v E CODE GENERATION <-addresses-> R A v T PEEPHOLE OPTIMISATION E v run-time debugging