gentranlang:fortran;
/* gentran knows about constants and implicit types in fortran */

gentran(i:5+j*2);

gentran(x:y/6-3);

/* types can also be explicitly declared */
gentran( type("implicit real*8", "a-h","o-z"),
      type("real*8", m(4,4)),
      for i:1 thru 4 do
	  for j:1 thru 4 do
	      if i=j
		 then m[i,j] : 1.0
		 else m[i,j] : 0.0,
	type("integer", i,j));

gentran( type("double", x),
	 type("integer", y),
	 i:9*y,
	 x:7*x/u)$
