From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Fren Zeee Newsgroups: gmane.emacs.devel Subject: What's the spec for emacs lisp virtual machine ? Date: Thu, 22 Jul 2010 23:15:17 -0700 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: dough.gmane.org 1279866381 13918 80.91.229.12 (23 Jul 2010 06:26:21 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 23 Jul 2010 06:26:21 +0000 (UTC) To: "Emacs Dev [emacs-devel]" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jul 23 08:26:20 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OcBi6-0006Mb-UQ for ged-emacs-devel@m.gmane.org; Fri, 23 Jul 2010 08:26:19 +0200 Original-Received: from localhost ([127.0.0.1]:46112 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OcBXh-00059M-7Z for ged-emacs-devel@m.gmane.org; Fri, 23 Jul 2010 02:15:33 -0400 Original-Received: from [140.186.70.92] (port=42166 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OcBXU-00057K-Fa for emacs-devel@gnu.org; Fri, 23 Jul 2010 02:15:21 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OcBXT-00024B-4Z for emacs-devel@gnu.org; Fri, 23 Jul 2010 02:15:20 -0400 Original-Received: from mail-iw0-f169.google.com ([209.85.214.169]:59417) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OcBXT-000240-1h for emacs-devel@gnu.org; Fri, 23 Jul 2010 02:15:19 -0400 Original-Received: by iwn2 with SMTP id 2so10938646iwn.0 for ; Thu, 22 Jul 2010 23:15:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=fNtR1Uk3/3PrXi228+qBnX1tOdAZx5GUGsiBAB+6Rfo=; b=JbFGJcAT8pZtTqCvaz+qGOn0qgd6wn4hBZNGgCYd+fsOaFPuhJ3OqsIvXwwZsKWh5g r+6Ps4yOUIRLCy2Z1RiU56pc9nSuC7vhYS8O4XMseeDBvBDSJScYQZ7SJnibzUAWnob6 Nw4faNnfzUDlrBUA3uoQkEBbjTFpRcorzuelY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=Zukh2UJqga4sZ8E591OK8IUWEPhmES662jxS5BJvA/eOyKJVkjiTA6iYO3NTIJt/tB uZJmnR+Geez4A3v/weU/S3zhp9/0rWU07Sz2djeCk3dT19ZUnwm6UVjijoq2TSQTaG3r sbZ43M0iLUg+d6seCCyEOpSITFs+1LnhEjm+8= Original-Received: by 10.231.174.65 with SMTP id s1mr3213119ibz.3.1279865717815; Thu, 22 Jul 2010 23:15:17 -0700 (PDT) Original-Received: by 10.231.199.80 with HTTP; Thu, 22 Jul 2010 23:15:17 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:127670 Archived-At: 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