Isn't the main problem here that the OP assumes that all three languages have "the same syntax"? This isn't true at all. They share some basic syntax but any "real" CL/Elisp/Scheme code will use more than this basic subset. And even within this limited syntactic subset, while one syntax will work the same syntactic consgruct will have different _semantics_.
Cheers, Ralf Mattes