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 intepeter and binder?

Compiler: Reads in human-readable program text (source code) and converts
it into machine-readable form (machine code). The output is usually
an executable file (.EXE)

Translator: Reads in source code and transforms it into equivalent source
code for another programming language. The RDS translator converts Euphoria
source code into the equivalent C source code. 

Interpreter: Reads in source code, and executes it as if it had been compiled
into machine code. Generally they do an on-the-fly conversion to
a type of machine code (eg. Intermediate Language : IL ) and then run the
converted code. Does not keep a copy of the converted source code.

  The current (2.5) Euphoria interpreter is composed of two sub-programs. 
The front-end converts the source code to IL. The back-end runs the IL.

Binder: Uses the front-end subprogram to convert source code to IL, then 
joins that IL to the back-end subprogram to form a single output file in
the format of an executable program. When that program executes, it runs
the back-end so that it can run the embedded IL.

Shrouder: Uses the front-end subprogram to convert source code to IL, then 
encrypts that IL to form a single output file. The special program called
'backend.exe' reads the encrypted IL and runs it.

What some people are asking for: Two new facilities. The first would 
just be a stand-alone version of the front-end. It would convert source
code into IL and write that IL out to a file. The second facility would
allow the Interpreter to 'include' IL files, which are pre-converted
source code, just like it can include source files now. This would mean
that it would be possible for a library author to distribute the IL version
of the library so that people could include into their applications without
the overhead of converting the library source to IL at runtime.
  
These two new ideas have nothing to do with binding or shrouding. They
would allow newcomers to Euphoria to use the free Interpreter with 
large libraries without the slowish startup time. It might also mean that
distributed IL files could be smaller than the source code version of
the library. It would mean that instead of numerous source files that
go into making a library, they could use a single IL file instead.

Currently, I think that RDS believes this is too much work for little gain
(from RDS's point of view). It would be in RDS's interest to 'encourage'
people the buy the Binder themselves if they want faster startup times,
etc...rather than library authors to provide this ability free of charge.

Of course, RDS could create these two new facilities as enhanced 
products and charge for them. Say each at 50% of the binder price?
My guess is that RDS would make more sales this way than just hoping
everyone will buy the binder.

-- 
Derek Parnell
Melbourne, Australia

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

Search



Quick Links

User menu

Not signed in.

Misc Menu