Computer Language Translation

 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