2 ms·
The quick and dirty approaches are to write a simple interpreter or a simple source to source compiler to another language which (has tools, etc.) which handle
by johnm 18y ago
The quick and dirty approaches are to write a simple interpreter or a simple source to source compiler to another language which (has tools, etc.) which handle the heavy lifting of the backend. For example, look at all of the languages built on top of the JVM.
In terms of the hardcore, there's still a lingering fight between the static compilers and the dynamic compilers. Though, even that is starting to erode because the best static compilers only generate the best code by using profiles created during instrumented, previous runs of the application (which basically makes them poor-man's dynamic compilers). Dynamic compilers such as HotSpot and the best Lisp implementations generate pretty good code and yet still handle the realities of eval, dynamic-class-loading, etc. well.