* What's the spec for emacs lisp virtual machine ?
@ 2010-07-23 6:15 Fren Zeee
2010-07-23 7:28 ` Alfred M. Szmidt
2010-07-23 7:51 ` Thien-Thi Nguyen
0 siblings, 2 replies; 5+ messages in thread
From: Fren Zeee @ 2010-07-23 6:15 UTC (permalink / raw)
To: Emacs Dev [emacs-devel]
What's the spec for emacs lisp virtual machine ?
Where are the complete set of virtual machine commands ?
Where is the theory for such a virtual machine in the clearest
description ? (not general theory, but one applicable directly to
understanding emacs vm.)
Does the emacs lisp operate as a stack push/pop or as parsing ?
Why is a VM needed when there is compiled C code running machine code ?
How do you implement a LISP interpreter using a stack based and syntax
tree methods ?
Some overview with concrete examples please, but of practical value.
Also, for either you need a scanner and so an example of a scanner
using a transition table. How do you decide on the states that are
minimal and not redundant ?
What is the difference between a stack architecture of a processor and
register based one ? wouldnt the former still need an ALU and indirect
addressing to do the job ? A diagram and some explanation, or else we
will be in the domain of linguistic ambiguity.
Upload a hand sketched image if necessary, or a reference to specific
pages in google books.
I have done searches on wiki and other places but the things are not
entirely clear because they are not oriented to my goal of centering
around emacs.
Thanks
Franz Xe
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: What's the spec for emacs lisp virtual machine ?
2010-07-23 6:15 What's the spec for emacs lisp virtual machine ? Fren Zeee
@ 2010-07-23 7:28 ` Alfred M. Szmidt
2010-07-23 16:18 ` Fren Zeee
2010-07-23 7:51 ` Thien-Thi Nguyen
1 sibling, 1 reply; 5+ messages in thread
From: Alfred M. Szmidt @ 2010-07-23 7:28 UTC (permalink / raw)
To: Fren Zeee; +Cc: emacs-devel
I have done searches on wiki and other places but the things are not
entirely clear because they are not oriented to my goal of centering
around emacs.
Have you tried looking at the source code for emacs? It isn't that
complex and the code is well commented, it is also the best place for
any details regarding emacs. The VM is located in emacs/src/eval.c,
the byte-code compiler in emacs/lisp/emacs-lisp/bytecomp.el. You can
use the disassemble function to disassemble emacs byte-code.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: What's the spec for emacs lisp virtual machine ?
2010-07-23 7:28 ` Alfred M. Szmidt
@ 2010-07-23 16:18 ` Fren Zeee
2010-07-23 17:13 ` Chong Yidong
0 siblings, 1 reply; 5+ messages in thread
From: Fren Zeee @ 2010-07-23 16:18 UTC (permalink / raw)
To: ams; +Cc: emacs-devel
On Fri, Jul 23, 2010 at 12:28 AM, Alfred M. Szmidt <ams@gnu.org> wrote:
> I have done searches on wiki and other places but the things are not
> entirely clear because they are not oriented to my goal of centering
> around emacs.
>
> Have you tried looking at the source code for emacs? It isn't that
> complex and the code is well commented, it is also the best place for
> any details regarding emacs. The VM is located in emacs/src/eval.c,
> the byte-code compiler in emacs/lisp/emacs-lisp/bytecomp.el. You can
> use the disassemble function to disassemble emacs byte-code.
>
I have looked at some header and C files on the savannah site, not this one.
I am waiting for a reply from the group and RMS on the earliest
sources which were probably smaller also, like 13 to 16.56 which might
be simpler for this newbie.
Perhaps, you may put a snippet to actually show a few things to this newbie.
I think often its best to demonstrate then to direct particularly for
those who say its easy for them.
What type of scanner does the Lisp parser and interpreter use ? Is it
listed ? Is there a FSM state transition table drawn ?
Franz Xe
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: What's the spec for emacs lisp virtual machine ?
2010-07-23 16:18 ` Fren Zeee
@ 2010-07-23 17:13 ` Chong Yidong
0 siblings, 0 replies; 5+ messages in thread
From: Chong Yidong @ 2010-07-23 17:13 UTC (permalink / raw)
To: Fren Zeee; +Cc: ams, emacs-devel
Fren Zeee <frenzeee@gmail.com> writes:
> I have looked at some header and C files on the savannah site, not this one.
>
> I am waiting for a reply from the group and RMS on the earliest
> sources which were probably smaller also, like 13 to 16.56 which might
> be simpler for this newbie.
>
> What type of scanner does the Lisp parser and interpreter use ? Is it
> listed ? Is there a FSM state transition table drawn ?
From Emacs, do
`C-h f read'
`C-h f eval'
and follow the sources. I don't think it's profitable to look at early
versions of Emacs; that's a wild goose chase. The fact that the sources
are bigger now than in earlier versions is irrelevant, if you're only
going to be looking at the Lisp reader and interpreter.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: What's the spec for emacs lisp virtual machine ?
2010-07-23 6:15 What's the spec for emacs lisp virtual machine ? Fren Zeee
2010-07-23 7:28 ` Alfred M. Szmidt
@ 2010-07-23 7:51 ` Thien-Thi Nguyen
1 sibling, 0 replies; 5+ messages in thread
From: Thien-Thi Nguyen @ 2010-07-23 7:51 UTC (permalink / raw)
To: Fren Zeee; +Cc: Emacs Dev [emacs-devel]
() Fren Zeee <frenzeee@gmail.com>
() Thu, 22 Jul 2010 23:15:17 -0700
What's the spec for emacs lisp virtual machine ?
[and other design questions]
I suggest you start a page on the Emacs wiki, and place these questions there.
This will more likely result in better responses and discussion than a thread
on this mailing list.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-07-23 17:13 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-23 6:15 What's the spec for emacs lisp virtual machine ? Fren Zeee
2010-07-23 7:28 ` Alfred M. Szmidt
2010-07-23 16:18 ` Fren Zeee
2010-07-23 17:13 ` Chong Yidong
2010-07-23 7:51 ` Thien-Thi Nguyen
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).