Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:46483 Return-Path: <0xcafefeed@gmail.com> Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 61015 invoked from network); 21 Dec 2009 16:39:58 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 21 Dec 2009 16:39:58 -0000 Authentication-Results: pb1.pair.com smtp.mail=0xcafefeed@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=0xcafefeed@gmail.com; sender-id=pass; domainkeys=bad Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.78.24 as permitted sender) DomainKey-Status: bad X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: 0xcafefeed@gmail.com X-Host-Fingerprint: 74.125.78.24 ey-out-2122.google.com Received: from [74.125.78.24] ([74.125.78.24:7329] helo=ey-out-2122.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id A6/17-20736-CD4AF2B4 for ; Mon, 21 Dec 2009 11:39:57 -0500 Received: by ey-out-2122.google.com with SMTP id 9so41109eyd.39 for ; Mon, 21 Dec 2009 08:39:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=jzaAlSpxQvPgOj/NgkNdIFL6xRI0CNnzJE9D58lrwTY=; b=x/tPl6hBiT1ZOF3lH9mzlsvXw8yB3P6MwSp7PqwKvNA2F9IfYSNSUlwYzBI9zkumZA vW6poS0zStPtzqqdF/UlgQKHlFttfO2bbAZRF3LlBVH/SCGKLX5Bdgxh4GfivIleneD9 yKm5GVqDqNhuOs3v4emobiY1lgtaGCq14XfHA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=okB+BraH7ouDlSVISmgC9C7LrgYurwPLNL5MZP3fPxiJq3y171dVkisN/TV9/ja3QA GZzUfvqtF6VBKxfjYwT82sgpfJAbyMh+lpP7Wx5WJdZMRMbCllE8hsJvSiL8cnWSLARO 3u9mLB3Pu/MK6aIpBawoK8+DD+5RCNsYUqXBc= MIME-Version: 1.0 Received: by 10.216.85.5 with SMTP id t5mr2718289wee.142.1261413593359; Mon, 21 Dec 2009 08:39:53 -0800 (PST) In-Reply-To: <1261413231.13430.46.camel@guybrush> References: <1261413231.13430.46.camel@guybrush> Date: Mon, 21 Dec 2009 08:39:53 -0800 Message-ID: To: =?UTF-8?Q?Johannes_Schl=C3=BCter?= Cc: Christian Grobmeier , internals@lists.php.net Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] How does the interpreter work From: 0xcafefeed@gmail.com (mm w) Pas mieux, and I am sure johannes did not find the need to express himself and/or these mind limitations on his blog :) harf I am so bad I know. -mmw 2009/12/21 Johannes Schl=C3=BCter : > Hi, > > On Mon, 2009-12-21 at 14:56 +0100, Christian Grobmeier wrote: >> I would like to learn more about how the interpreter works, but I was >> unable to find good documents on the web. Basically I am thinking on >> something about allocation of variables, how does object creation work >> and such stuff. Maybe something on the overall architecture of PHP >> would be of interest too. >> >> In java world there is the JVM specification, I hoped there is >> something for PHP too. > > Well there's one quite complete document about it available - the source > code ;-) PHP isn't developed following standards but simply by > implementing and extending it. PHP is defined by the implementation ... > > But: What exactly do you want to learn? Do you want to learn how to use > it better or "academic reasons" or something else? - Depending on all > that the focus of the learning might be quite different. > > As a starting point for this I recently created a small toy project: A > minimal basic inspired language on top of the ZendVM, just 200 lines of > C code which might give a few pointers to do further research. It's > quite hackish ugly code but enough to compile and execute a script like > this: > > 10 GOTO 40 > 20 PRINT "B" > 30 END > 40 PRINT "A" > 50 GOTO 20 > > This all will be compiled to Zend Opcodes which can be executed, cached > with APC, dumped by vld, ... > > I hope I find the time to write the documentation around it, other than > that this code is absolutely useless :-) > > http://github.com/johannes/pasic > > johannes > > > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > >