Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:76294 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 28226 invoked from network); 31 Jul 2014 18:11:22 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 31 Jul 2014 18:11:22 -0000 Authentication-Results: pb1.pair.com header.from=nikita.ppv@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=nikita.ppv@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.219.45 as permitted sender) X-PHP-List-Original-Sender: nikita.ppv@gmail.com X-Host-Fingerprint: 209.85.219.45 mail-oa0-f45.google.com Received: from [209.85.219.45] ([209.85.219.45:54344] helo=mail-oa0-f45.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id C9/A1-09748-9C68AD35 for ; Thu, 31 Jul 2014 14:11:22 -0400 Received: by mail-oa0-f45.google.com with SMTP id i7so2335623oag.32 for ; Thu, 31 Jul 2014 11:11:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=ZHWfrLMBNzu3pqGRP4aQW1HJw6ZfV6OKYjFYoPm1C4A=; b=dFDYc0Le4yDTN+iXvoiT6jduhLtXVKgESre2242K5bvnz9jla3zjugl7Huevr1a39F Blq/nkVO5zR3/X1hSyDrpOXHF7lX+EKdDtnKgzxeNtzF6tS82srepsK3+fgHnZWjOIOG s45SEPV9G1oLEI5RpAPhHMalGoMnEuIDj7tS2BQObw5NbsADCdWuzdGDXPhWDGWBRJEu 4DHp+Az8i6YxVqjkesdV1oz8JF2IHW2QsT8UoIPmfMQj/W0K29caUZFMUpIfakTbOkCA H60JbYzV7pGbMw3tVD+fZGxDm5uvk/5UxiGsN1Bh0YflEooTHUFO55c135VW4zl/iEev ItBw== MIME-Version: 1.0 X-Received: by 10.182.236.65 with SMTP id us1mr8910144obc.38.1406830298412; Thu, 31 Jul 2014 11:11:38 -0700 (PDT) Received: by 10.182.132.2 with HTTP; Thu, 31 Jul 2014 11:11:38 -0700 (PDT) Date: Thu, 31 Jul 2014 20:11:38 +0200 Message-ID: To: PHP internals Content-Type: multipart/alternative; boundary=001a11c2f9ac323c7c04ff8134c4 Subject: [RFC] Introduce Abstract Syntax Tree From: nikita.ppv@gmail.com (Nikita Popov) --001a11c2f9ac323c7c04ff8134c4 Content-Type: text/plain; charset=UTF-8 Hi internals! I've created a draft RFC and implementation for the introduction of an Abstract Syntax Tree (AST) as an intermediate structure in our compilation process: https://wiki.php.net/rfc/abstract_syntax_tree The RFC outlines why an AST is beneficial, how it impacts performance and memory usage of the compile process and what changes to syntax or behavior it introduces. Furthermore the RFC contains an outline of how the current implementation works and what APIs it provides. This section is just an overview and I hope to extend it in the future. Note: I'm on vacation as of tomorrow and wanted to put this up to discussion beforehand. I won't be able to implement any feedback while I'm away, but can of course answer questions :) Thanks, Nikita --001a11c2f9ac323c7c04ff8134c4--