Re: Compiler,Translator,Interpeter,Binder?

new topic     » goto parent     » topic index » view thread      » older message » newer message

> 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

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu