From: Pascal J. Bourguignon on
Fren Zeee <frenzeee(a)gmail.com> writes:

>
> unfortunately, this reply did not give any benefit and info repeated
> before. the reply did not even put a snippet of the code from c file
> to illustrate how he himself read and understood it. someone else try
> if anyone knows.

LOL!

--
__Pascal Bourguignon__ http://www.informatimago.com/
From: Pascal J. Bourguignon on
Fren Zeee <frenzeee(a)gmail.com> writes:
> portability does not require VM, it only requires C while emacs
> interprets the lisp code. a diff command in C is portable over
> computers because its written in C. not because of a VM.

C is a VM.

--
__Pascal Bourguignon__ http://www.informatimago.com/
From: Barry Margolin on
In article
<61a26ed5-80eb-4175-b7c4-162a1ce21a59(a)e5g2000yqn.googlegroups.com>,
Fren Zeee <frenzeee(a)gmail.com> wrote:

> portability does not require VM, it only requires C while emacs
> interprets the lisp code. a diff command in C is portable over
> computers because its written in C. not because of a VM.

An interpreter *is* a VM. The "machine language" of this VM is the
language being interpreted.

Maybe what you're really asking is whether we need byte code? That's
just an optimization. Compiling to machine code is even more of an
optimization, but then the result is not portable. So a byte code VM is
a compromise between source code interpretation and machine code
compilation.

--
Barry Margolin, barmar(a)alum.mit.edu
Arlington, MA
*** PLEASE post questions in newsgroups, not directly to me ***
*** PLEASE don't copy me on replies, I'll read them in the group ***
From: Marek Kubica on
On Fri, 23 Jul 2010 08:59:08 -0700 (PDT)
Fren Zeee <frenzeee(a)gmail.com> wrote:

> unfortunately, this reply did not give any benefit and info repeated
> before. the reply did not even put a snippet of the code from c file
> to illustrate how he himself read and understood it. someone else try
> if anyone knows.

Unfortunetely this reply did not solve your homework, I see. Maybe you
could do some original research or read the linked sources?

regards,
Marek
From: Emmy Noether on
On Jul 23, 10:57 am, Barry Margolin <bar...(a)alum.mit.edu> wrote:
> In article
> <61a26ed5-80eb-4175-b7c4-162a1ce21...(a)e5g2000yqn.googlegroups.com>,
>  Fren Zeee <frenz...(a)gmail.com> wrote:
>
> > portability does not require VM, it only requires C while emacs
> > interprets the lisp code. a diff command in C is portable over
> > computers because its written in C. not because of a VM.
>
> An interpreter *is* a VM.  The "machine language" of this VM is the
> language being interpreted.
>
> Maybe what you're really asking is whether we need byte code?  That's
> just an optimization.  Compiling to machine code is even more of an
> optimization, but then the result is not portable.  So a byte code VM is
> a compromise between source code interpretation and machine code
> compilation.

This clarified for OP the confusion Pascal sowed by bringing in C as a
VM. IMHO OP wanted explanation of the VM by a state diagram, some
architectural design or code walkthrough.

Its written on wiki that the effort to make a portable compiler
emitting machine code is more than the effort to write a VM to enable
portability of the compiled byte-code. Only someone familiar with
Pascal p-code (probably the first appearance of byte-code) can explain
this point, or one who has thoroughly read and understood the files
Pascal mentioned. He probably believes he does as he shares the name
with the lingo ;)