Re: Compiler,Translator,Interpeter,Binder?
- Posted by Vincent <darkvincentdude at yahoo.com> Dec 22, 2004
- 489 views
> don cole wrote: > > > > Could somebody please define compiler, translator and interpreter and > > binder? > Heres what I believe the following things to be true, though these are soley my definitons, I cannot verify them as true for sure! : Machine Code Compiler: A program that will directly convert human readable source code in a source file to machine code, then a linker module will build an EXE (executable) or DLL (Dynamic Shared Library) file(s) from that machine code. Different compilers will compile on different platforms, and not all compilers produce the same exact machine code. JIT Compiler: JIT stands for "just-in-time", and is like a conventual machine code compiler except that it converts byte code to machine code "on-the-fly". This compiler technology first harnessed by Sun Microsystem's JAVA language enviroment (JLE) as an alternate option to using JAVA's Virtual Machine (JVM), which is like an interpreter (I think), is now is being used with Microsoft's .NET developers framework. Other companys have and/or are using this core technology as well, like Netscape I belive. Often a byte code compiler would make the IL (intermediate language) code while this type of compiler would make machine code from that IL. Translator: In terms of the RDS product "Euphoria to C Translator", the translator takes the human readable Euphoria source code and translates it to fairly inefficent C code that is put into a set of C source files to reduce the overhead work of the compiler. The RDS product will create a batch file called 'emake' which acts like a subprogram that calls and sets compiler parameters to compile each one of those C source files (so u dont have to manually). After that, the emake will call a linker corrisponding to that compiler and will either create an EXE (executable) or DLL (Shared Library) file(s). As of version 2.5, emake.bat will also delete the C source files/ object file after completion. The advantages with this method is greatly increased program loading/execution speed, plus the ability to make DLL (Shared Library) files. "This I belive is the best method of non-open source distrubution!" Modern Interpreter: In simple terms a modern interpreter will have a frontend and backend, the frontend will quickly convert human readable source code to a unique IL (intermediate language, also known as byte code) into computer memory that will then run off the backend. Euphoria does this process very quickly though as of 2.5 the frontend will now parse all the code before actually making the byte code?, where as before the code was parsed in incraments, the first attempt at this is fairly inefficent leaving some unnessasary idle time in the process, thus dramaticly increasing program loading time in which users are now complaining about. The next minor release (BETA) of Euphoria is promised to be much improved in this aspect. Binder/Shrouder: In Euphoria 2.5 the binder, which exists as a seperate RDS product will use the frontend of Euphoria to make the unique encrypted IL (intermediate language) code, and then will combine that with the Euphoria backend which exists as an EXE file, therfore your able to make standalone applications. The shrouder skips the integration part and just makes an encrypted IL file that may be ran manually off the backend. Vincent