Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:24402 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 25810 invoked by uid 1010); 15 Jul 2006 18:26:21 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 25794 invoked from network); 15 Jul 2006 18:26:21 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 15 Jul 2006 18:26:21 -0000 X-PHP-List-Original-Sender: mail@marcus-boerger.de X-Host-Fingerprint: 81.169.182.136 ajaxatwork.net Linux 2.4/2.6 Received: from ([81.169.182.136:37688] helo=strato.aixcept.de) by pb1.pair.com (ecelerity 2.1.1.3 r(11751M)) with ESMTP id 31/CF-11992-B4339B44 for ; Sat, 15 Jul 2006 14:26:20 -0400 Received: from baumbart.mbo (dslb-084-063-024-149.pools.arcor-ip.net [84.63.24.149]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by strato.aixcept.de (Postfix) with ESMTP id 22C0E35C20A; Sat, 15 Jul 2006 20:26:16 +0200 (CEST) Date: Sat, 15 Jul 2006 20:26:22 +0200 Reply-To: Marcus Boerger X-Priority: 3 (Normal) Message-ID: <347185750.20060715202622@marcus-boerger.de> To: internals@lists.php.net Cc: William Candillon , Pavlo Shelyazhenko , Andi Gutmans , Zeev Suraski , Gregory Beaver MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----------833724CA0C141A" Subject: Long awaited line directive From: mail@marcus-boerger.de (Marcus Boerger) ------------833724CA0C141A Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hello internals, attached is a patch that brings the '#line' directive to php. This is especially usefull for parser generators or any other code shuffling/generator tools. Any opinions? If nothing speaks against i'd like to commit this before heading towards OSCON be end of next week. (oatch is against head of course). -- Best regards, Marcus mailto:mail@marcus-boerger.de ------------833724CA0C141A Content-Type: text/plain; name="ze2-line-directive-20060715.diff.txt" Content-transfer-encoding: base64 Content-Disposition: attachment; filename="ze2-line-directive-20060715.diff.txt" SW5kZXg6IFplbmQvemVuZF9jb21waWxlLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3Jl cG9zaXRvcnkvWmVuZEVuZ2luZTIvemVuZF9jb21waWxlLmMsdgpyZXRyaWV2aW5nIHJldmlz aW9uIDEuNzE3CmRpZmYgLXUgLXAgLWQgLXIxLjcxNyB6ZW5kX2NvbXBpbGUuYwotLS0gWmVu ZC96ZW5kX2NvbXBpbGUuYwkxMyBKdW4gMjAwNiAxMjo1NjoyMCAtMDAwMAkxLjcxNworKysg WmVuZC96ZW5kX2NvbXBpbGUuYwkxNSBKdWwgMjAwNiAxODoyMDowMyAtMDAwMApAQCAtMjA4 LDYgKzIwOCwyMyBAQCBaRU5EX0FQSSBjaGFyICp6ZW5kX3NldF9jb21waWxlZF9maWxlbmFt CiB9CiAKIAorWkVORF9BUEkgdm9pZCB6ZW5kX2RvX2xpbmVfZGlyZWN0aXZlKGxvbmcgbGlu ZW5vLCBjaGFyICpmaWxlLCBpbnQgZmlsZV9sZW4gVFNSTUxTX0RDKQoreworCXplbmRfb3Ag Km9wbGluZSA9IGdldF9uZXh0X29wKENHKGFjdGl2ZV9vcF9hcnJheSkgVFNSTUxTX0NDKTsK KworCUNHKHplbmRfbGluZW5vKSA9IGxpbmVubzsKKwlmaWxlID0gZXN0cm5kdXAoZmlsZSwg ZmlsZV9sZW4pOworCXplbmRfc2V0X2NvbXBpbGVkX2ZpbGVuYW1lKGZpbGUgVFNSTUxTX0ND KTsKKworCW9wbGluZS0+b3Bjb2RlID0gWkVORF9MSU5FX0RJUkVDVElWRTsKKwlTRVRfVU5V U0VEKG9wbGluZS0+cmVzdWx0KTsJCisJb3BsaW5lLT5vcDEub3BfdHlwZSA9IElTX0NPTlNU OworCVpWQUxfTE9ORygmb3BsaW5lLT5vcDEudS5jb25zdGFudCwgbGluZW5vKTsKKwlvcGxp bmUtPm9wMi5vcF90eXBlID0gSVNfQ09OU1Q7CisJWlZBTF9TVFJJTkdMKCZvcGxpbmUtPm9w Mi51LmNvbnN0YW50LCBmaWxlLCBmaWxlX2xlbiwgMCk7Cit9CisKKwogWkVORF9BUEkgdm9p ZCB6ZW5kX3Jlc3RvcmVfY29tcGlsZWRfZmlsZW5hbWUoY2hhciAqb3JpZ2luYWxfY29tcGls ZWRfZmlsZW5hbWUgVFNSTUxTX0RDKQogewogCUNHKGNvbXBpbGVkX2ZpbGVuYW1lKSA9IG9y aWdpbmFsX2NvbXBpbGVkX2ZpbGVuYW1lOwpJbmRleDogWmVuZC96ZW5kX2NvbXBpbGUuaAo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09ClJDUyBmaWxlOiAvcmVwb3NpdG9yeS9aZW5kRW5naW5lMi96ZW5kX2Nv bXBpbGUuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zNDMKZGlmZiAtdSAtcCAtZCAtcjEu MzQzIHplbmRfY29tcGlsZS5oCi0tLSBaZW5kL3plbmRfY29tcGlsZS5oCTEzIEp1biAyMDA2 IDEyOjU2OjIwIC0wMDAwCTEuMzQzCisrKyBaZW5kL3plbmRfY29tcGlsZS5oCTE1IEp1bCAy MDA2IDE4OjIwOjAzIC0wMDAwCkBAIC0zMzIsNiArMzMyLDcgQEAgWkVORF9BUEkgaW50IGxl eF9zY2FuKHp2YWwgKnplbmRsdmFsIFRTUgogdm9pZCBzdGFydHVwX3NjYW5uZXIoVFNSTUxT X0QpOwogdm9pZCBzaHV0ZG93bl9zY2FubmVyKFRTUk1MU19EKTsKIAorWkVORF9BUEkgdm9p ZCB6ZW5kX2RvX2xpbmVfZGlyZWN0aXZlKGxvbmcgbGluZW5vLCBjaGFyICpmaWxlLCBpbnQg ZmlsZV9sZW4gVFNSTUxTX0RDKTsKIFpFTkRfQVBJIGNoYXIgKnplbmRfc2V0X2NvbXBpbGVk X2ZpbGVuYW1lKGNoYXIgKm5ld19jb21waWxlZF9maWxlbmFtZSBUU1JNTFNfREMpOwogWkVO RF9BUEkgdm9pZCB6ZW5kX3Jlc3RvcmVfY29tcGlsZWRfZmlsZW5hbWUoY2hhciAqb3JpZ2lu YWxfY29tcGlsZWRfZmlsZW5hbWUgVFNSTUxTX0RDKTsKIFpFTkRfQVBJIGNoYXIgKnplbmRf Z2V0X2NvbXBpbGVkX2ZpbGVuYW1lKFRTUk1MU19EKTsKSW5kZXg6IFplbmQvemVuZF9sYW5n dWFnZV9zY2FubmVyLmwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3JlcG9zaXRvcnkvWmVu ZEVuZ2luZTIvemVuZF9sYW5ndWFnZV9zY2FubmVyLmwsdgpyZXRyaWV2aW5nIHJldmlzaW9u IDEuMTU1CmRpZmYgLXUgLXAgLWQgLXIxLjE1NSB6ZW5kX2xhbmd1YWdlX3NjYW5uZXIubAot LS0gWmVuZC96ZW5kX2xhbmd1YWdlX3NjYW5uZXIubAkxMiBKdW4gMjAwNiAxNzowNjozOSAt MDAwMAkxLjE1NQorKysgWmVuZC96ZW5kX2xhbmd1YWdlX3NjYW5uZXIubAkxNSBKdWwgMjAw NiAxODoyMDowNCAtMDAwMApAQCAtMTM5Niw2ICsxMzk2LDcgQEAgRVhQT05FTlRfRE5VTQko KHtMTlVNfXx7RE5VTX0pW2VFXVsrLV0/ewogSE5VTQkiMHgiWzAtOWEtZkEtRl0rCiBMQUJF TAlbYS16QS1aX1x4N2YtXHhmZl1bYS16QS1aMC05X1x4N2YtXHhmZl0qCiBXSElURVNQQUNF IFsgXG5cclx0XSsKK1dTT05MWQlbIFx0XSsKIFRBQlNfQU5EX1NQQUNFUyBbIFx0XSoKIFRP S0VOUyBbOzosLlxbXF0oKXxeJistLyo9JSF+JDw+P0BdCiBFTkNBUFNFRF9UT0tFTlMgW1xb XF17fSRdCkBAIC0yMDk5LDYgKzIxMDAsMjggQEAgTkVXTElORSAoIlxyInwiXG4ifCJcclxu IikKIH0KIAogCis8U1RfSU5fU0NSSVBUSU5HPiIjIntXU09OTFl9KiJsaW5lIntXU09OTFl9 e0xOVU19e1dTT05MWX1bIl1bXiJcclxuXSpbIl17TkVXTElORX0geworLyogIiAqLworCWNo YXIgKnMsICplOworCWxvbmcgbDsKKworCWVycm5vID0gMDsKKwlzID0gc3RyY2hyKHl5dGV4 dCwgJ2UnKSArIDE7CisJbCA9IHN0cnRvbChzLCAmZSwgMCk7CisJaWYgKGVycm5vID09IEVS QU5HRSkgeyAvKiBvdmVyZmxvdyAqLworCQl6ZW5kX2Vycm9yKEVfQ09NUElMRV9FUlJPUiwg IiNsaW5lIGRpcmVjdGl2ZSBpbnZhbGlkIik7CisJfQorCXMgPSBzdHJjaHIoZSArIDEsICci JykgKyAxOworCWUgPSBzdHJyY2hyKHMsICciJyk7CisJemVuZF9kb19saW5lX2RpcmVjdGl2 ZShsLCBzLCBlIC0gcyBUU1JNTFNfQ0MpOworCVpfU1RSVkFMX1AoemVuZGx2YWwpID0geXl0 ZXh0OyAvKiBubyBjb3B5aW5nIC0gaW50ZW50aW9uYWwgKi8KKwlaX1NUUkxFTl9QKHplbmRs dmFsKSA9IHl5bGVuZzsKKwlaX1RZUEVfUCh6ZW5kbHZhbCkgPSBJU19TVFJJTkc7CisJQkVH SU4oU1RfSU5fU0NSSVBUSU5HKTsKKwlyZXR1cm4gVF9DT01NRU5UOworfQorCisKIDxTVF9J Tl9TQ1JJUFRJTkc+IiMifCIvLyIgewogCUJFR0lOKFNUX09ORV9MSU5FX0NPTU1FTlQpOwog CXl5bW9yZSgpOwpJbmRleDogWmVuZC96ZW5kX3ZtX2RlZi5oCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT IGZpbGU6IC9yZXBvc2l0b3J5L1plbmRFbmdpbmUyL3plbmRfdm1fZGVmLmgsdgpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuMTI1CmRpZmYgLXUgLXAgLWQgLXIxLjEyNSB6ZW5kX3ZtX2RlZi5o Ci0tLSBaZW5kL3plbmRfdm1fZGVmLmgJMTIgSnVsIDIwMDYgMjE6MTQ6MTEgLTAwMDAJMS4x MjUKKysrIFplbmQvemVuZF92bV9kZWYuaAkxNSBKdWwgMjAwNiAxODoyMDowNSAtMDAwMApA QCAtMzg5Myw0ICszODkzLDE4IEBAIFpFTkRfVk1fSEFORExFUigxNTEsIFpFTkRfVV9OT1JN QUxJWkUsIEMKIAlaRU5EX1ZNX05FWFRfT1BDT0RFKCk7CiB9CiAKK1pFTkRfVk1fSEFORExF UigxNTIsIFpFTkRfTElORV9ESVJFQ1RJVkUsIENPTlNULCBBTlkpCit7CisJemVuZF9vcCAq b3BsaW5lID0gRVgob3BsaW5lKTsKKwl6ZW5kX2ZyZWVfb3AgZnJlZV9vcDEsIGZyZWVfb3Ay OworCS8qenZhbCAqbGluZSA9IEdFVF9PUDFfWlZBTF9QVFIoQlBfVkFSX1IpOyovCisJenZh bCAqZmlsZSA9IEdFVF9PUDJfWlZBTF9QVFIoQlBfVkFSX1IpOworCisJemVuZF9zZXRfY29t cGlsZWRfZmlsZW5hbWUoWl9TVFJWQUxfUChmaWxlKSBUU1JNTFNfQ0MpOworCisJRlJFRV9P UDFfSUZfVkFSKCk7CisJRlJFRV9PUDJfSUZfVkFSKCk7CisJWkVORF9WTV9ORVhUX09QQ09E RSgpOworfQorCiBaRU5EX1ZNX0VYUE9SVF9IRUxQRVIoemVuZF9kb19mY2FsbCwgemVuZF9k b19mY2FsbF9jb21tb25faGVscGVyKQpJbmRleDogWmVuZC96ZW5kX3ZtX2V4ZWN1dGUuaAo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09ClJDUyBmaWxlOiAvcmVwb3NpdG9yeS9aZW5kRW5naW5lMi96ZW5kX3Zt X2V4ZWN1dGUuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMjkKZGlmZiAtdSAtcCAtZCAt cjEuMTI5IHplbmRfdm1fZXhlY3V0ZS5oCi0tLSBaZW5kL3plbmRfdm1fZXhlY3V0ZS5oCTEy IEp1bCAyMDA2IDIxOjE0OjExIC0wMDAwCTEuMTI5CisrKyBaZW5kL3plbmRfdm1fZXhlY3V0 ZS5oCTE1IEp1bCAyMDA2IDE4OjIwOjEwIC0wMDAwCkBAIC0yMzM0LDYgKzIzMzQsMTkgQEAg c3RhdGljIGludCBaRU5EX1VfTk9STUFMSVpFX1NQRUNfQ09OU1RfSAogCVpFTkRfVk1fTkVY VF9PUENPREUoKTsKIH0KIAorc3RhdGljIGludCBaRU5EX0xJTkVfRElSRUNUSVZFX1NQRUNf Q09OU1RfSEFORExFUihaRU5EX09QQ09ERV9IQU5ETEVSX0FSR1MpCit7CisJemVuZF9vcCAq b3BsaW5lID0gRVgob3BsaW5lKTsKKwl6ZW5kX2ZyZWVfb3AgZnJlZV9vcDI7CisJLyp6dmFs ICpsaW5lID0gJm9wbGluZS0+b3AxLnUuY29uc3RhbnQ7Ki8KKwl6dmFsICpmaWxlID0gZ2V0 X3p2YWxfcHRyKCZvcGxpbmUtPm9wMiwgRVgoVHMpLCAmZnJlZV9vcDIsIEJQX1ZBUl9SKTsK KworCXplbmRfc2V0X2NvbXBpbGVkX2ZpbGVuYW1lKFpfU1RSVkFMX1AoZmlsZSkgVFNSTUxT X0NDKTsKKworCUZSRUVfT1BfSUZfVkFSKGZyZWVfb3AyKTsKKwlaRU5EX1ZNX05FWFRfT1BD T0RFKCk7Cit9CisKIHN0YXRpYyBpbnQgWkVORF9BRERfU1BFQ19DT05TVF9DT05TVF9IQU5E TEVSKFpFTkRfT1BDT0RFX0hBTkRMRVJfQVJHUykKIHsKIAl6ZW5kX29wICpvcGxpbmUgPSBF WChvcGxpbmUpOwpAQCAtMzEwOTMsNiArMzExMDYsMzEgQEAgdm9pZCB6ZW5kX2luaXRfb3Bj b2Rlc19oYW5kbGVycygpCiAgIAlaRU5EX1VfTk9STUFMSVpFX1NQRUNfQ1ZfSEFORExFUiwK ICAgCVpFTkRfVV9OT1JNQUxJWkVfU1BFQ19DVl9IQU5ETEVSLAogICAJWkVORF9VX05PUk1B TElaRV9TUEVDX0NWX0hBTkRMRVIsCisgIAlaRU5EX0xJTkVfRElSRUNUSVZFX1NQRUNfQ09O U1RfSEFORExFUiwKKyAgCVpFTkRfTElORV9ESVJFQ1RJVkVfU1BFQ19DT05TVF9IQU5ETEVS LAorICAJWkVORF9MSU5FX0RJUkVDVElWRV9TUEVDX0NPTlNUX0hBTkRMRVIsCisgIAlaRU5E X0xJTkVfRElSRUNUSVZFX1NQRUNfQ09OU1RfSEFORExFUiwKKyAgCVpFTkRfTElORV9ESVJF Q1RJVkVfU1BFQ19DT05TVF9IQU5ETEVSLAorICAJWkVORF9OVUxMX0hBTkRMRVIsCisgIAla RU5EX05VTExfSEFORExFUiwKKyAgCVpFTkRfTlVMTF9IQU5ETEVSLAorICAJWkVORF9OVUxM X0hBTkRMRVIsCisgIAlaRU5EX05VTExfSEFORExFUiwKKyAgCVpFTkRfTlVMTF9IQU5ETEVS LAorICAJWkVORF9OVUxMX0hBTkRMRVIsCisgIAlaRU5EX05VTExfSEFORExFUiwKKyAgCVpF TkRfTlVMTF9IQU5ETEVSLAorICAJWkVORF9OVUxMX0hBTkRMRVIsCisgIAlaRU5EX05VTExf SEFORExFUiwKKyAgCVpFTkRfTlVMTF9IQU5ETEVSLAorICAJWkVORF9OVUxMX0hBTkRMRVIs CisgIAlaRU5EX05VTExfSEFORExFUiwKKyAgCVpFTkRfTlVMTF9IQU5ETEVSLAorICAJWkVO RF9OVUxMX0hBTkRMRVIsCisgIAlaRU5EX05VTExfSEFORExFUiwKKyAgCVpFTkRfTlVMTF9I QU5ETEVSLAorICAJWkVORF9OVUxMX0hBTkRMRVIsCisgIAlaRU5EX05VTExfSEFORExFUiwK ICAgCVpFTkRfTlVMTF9IQU5ETEVSCiAgIH07CiAgIHplbmRfb3Bjb2RlX2hhbmRsZXJzID0g KG9wY29kZV9oYW5kbGVyX3QqKWxhYmVsczsKSW5kZXg6IFplbmQvemVuZF92bV9vcGNvZGVz LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3JlcG9zaXRvcnkvWmVuZEVuZ2luZTIvemVu ZF92bV9vcGNvZGVzLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNjcKZGlmZiAtdSAtcCAt ZCAtcjEuNjcgemVuZF92bV9vcGNvZGVzLmgKLS0tIFplbmQvemVuZF92bV9vcGNvZGVzLmgJ MTAgTWFyIDIwMDYgMDg6Mjk6MjIgLTAwMDAJMS42NworKysgWmVuZC96ZW5kX3ZtX29wY29k ZXMuaAkxNSBKdWwgMjAwNiAxODoyMDoxMCAtMDAwMApAQCAtMTQ5LDMgKzE0OSw0IEBACiAj ZGVmaW5lIFpFTkRfSEFORExFX0VYQ0VQVElPTiAgICAgICAgMTQ5CiAjZGVmaW5lIFpFTkRf VVNFUl9PUENPREUgICAgICAgICAgICAgMTUwCiAjZGVmaW5lIFpFTkRfVV9OT1JNQUxJWkUg ICAgICAgICAgICAgMTUxCisjZGVmaW5lIFpFTkRfTElORV9ESVJFQ1RJVkUgICAgICAgICAg MTUyCg== ------------833724CA0C141A--