how to print algebraic expressions as an S-expression which is valid CL code



try

a+b*c;

?print(%);


this shows you the internal form used by Maxima.

Since you already seem to know Lisp, you should be able to write a 
program that changes

((MPLUS SIMP) $A $B)    to   (+ a b)   etc.

or
you could consider doing something like this:

f(a,b,c):= a+b*c;
translate(f);  

or compile(f);

better would be something using mode_declare,   see  ? modedeclare

which would convert your program into binary form to call from lisp.
RJf