[ruby-core:113890] [Ruby master Feature#19719] Universal Parser
From:
"Eregon (Benoit Daloze) via ruby-core" <ruby-core@...>
Date:
2023-06-12 16:15:04 UTC
List:
ruby-core #113890
SXNzdWUgIzE5NzE5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4N DQoNDQoNDQpJTU8gaXQncyBxdWl0ZSBzdHJhbmdlIGFuZCBub3QgcmVzcGVjdGZ1bCBvZiB0aGUg UnVieSBkZXZlbG9wbWVudCB3b3JrZmxvdyB0bzoNDQoqIGNyZWF0ZSBhbiBpc3N1ZSBhYm91dCBh IGJpZyBmZWF0dXJlIGJ1dCBkaXNjdXNzIGxpdGVyYWxseSBub25lIG9mIHRoZSBkZXRhaWxzLiBO b3RhYmx5IHRoZSBiYWNrZ3JvdW5kLCBkZXNpZ24gYW5kIHJlbGVhc2UgbWFuYWdlbWVudCBzZWN0 aW9ucyBhcmUgYWxsIGNvbXBsZXRlbHkgdW5yZWxhdGVkLCBzaG93aW5nIHRoZXJlIGFyZSBtYW55 IGhvbGVzIGluIHRoaXMgaXNzdWUgZGVzY3JpcHRpb24gYW5kIG1heWJlIGluIHRoZSBkZXNpZ24g b2YgdGhpcyBmZWF0dXJlLg0NCiogb3BlbiB0aGlzIGlzc3VlIG9uIHRoZSBkYXkgb2YgdGhlIG1l ZXRpbmcsIGF0IHRoZSBsYXN0IG1pbnV0ZQ0NCiogbWVyZ2UgW2xhcmdlXShodHRwczovL2dpdGh1 Yi5jb20vcnVieS9ydWJ5L3B1bGwvNzkyNykgY29kZSBjaGFuZ2VzICgrIDY2MDcgbGluZXMpIHdp dGggMCByZXZpZXdzLCAwIGNvbW1lbnRzLCAwIGRlc2lnbiBkaXNjdXNzaW9ucw0NCg0NCkl0IGZl ZWxzIGxpa2Ugc25lYWtpbmcgaW4gY2hhbmdlcyB0byBtZS4NDQoNDQpBbHNvIHdoaWxlIHJlcGxh Y2luZyBiaXNvbiBhbmQgbWFraW5nIHRoZSBwYXJzZXIgbW9yZSBpbmRlcGVuZGVudCBvZiBDUnVi eSBpbnRlcm5hbHMgaXMgdXNlZnVsLCB3aG8gaXMgZ29pbmcgdG8gbWFpbnRhaW4gYWxsIHRoYXQg ZXh0cmEgY29kZT8NDQpSaWdodCBub3cgSSBkb24ndCBzZWUgYW55b25lIGhhcHB5IHRvIG1haW50 YWluIGVpdGhlciBvZiB0aG9zZSwgZXhjZXB0IEthbmVrby1zYW4sIHdoaWNoIG9mIGNvdXJzZSBt aWdodCBub3QgYWx3YXlzIGJlIGF2YWlsYWJsZSB0byBmaXgvZXZvbHZlIHRoaW5ncy4NDQpNYWlu dGFpbmFiaWxpdHkgc2VlbXMgYSBjcnVjaWFsIGFzcGVjdCB0aGF0IHdhcyBub3QgZGlzY3Vzc2Vk IGF0IGFsbCBoZXJlLg0NCkZvciBpbnN0YW5jZSwgaXQgc2VlbXMgcHJldHR5IGNsZWFyIHRvIG1l IHRoYXQgVW5pdmVyc2FsIFBhcnNlciB3b3VsZG4ndCBpbXByb3ZlIG1haW50YWluYWJpbGl0eSBv ZiB0aGUgcGFyc2VyIHNpZ25pZmljYW50bHkgKHBhcnNlLnkgaGFzIG1hbnkgbWFpbnRhaW5hYmls aXR5IGlzc3VlcywgSSB0aGluayB0aGlzIHdvdWxkbid0IHNvbHZlIG1vc3Qgb2YgdGhlbSkuDQ0K SXQgd291bGQgY2VydGFpbmx5IGJlIGdvb2QgaWYgbW9yZSBjb21taXR0ZXJzIGFuZCBjb250cmli dXRvcnMgd291bGQgZmVlbCBjb21mb3J0YWJsZSBtb2RpZnlpbmcgdGhlIHBhcnNlciwgcmlnaHQg bm93IGl0IHNlZW1zIGV2ZXJ5b25lIGF2b2lkcyBpdCBhcyBtdWNoIGFzIHBvc3NpYmxlLCBhbmQg SSBkb24ndCBzZWUgVW5pdmVyc2FsIFBhcnNlciBoZWxwaW5nIHRoZXJlLg0NCg0NCi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NDQpGZWF0dXJlICMxOTcxOTogVW5pdmVy c2FsIFBhcnNlcg0NCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xOTcxOSNjaGFu Z2UtMTAzNTM5DQ0KDQ0KKiBBdXRob3I6IHl1aS1rbmsgKEthbmVrbyBZdWljaGlybykNDQoqIFN0 YXR1czogQ2xvc2VkDQ0KKiBQcmlvcml0eTogTm9ybWFsDQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0NCiMgQmFja2dyb3VuZA0NCg0NClRoZXJlIGFyZSB0aHJlZSB1 c2UgY2FzZXMgd2hlcmUgd2UgbmVlZCBhIENSdWJ5IHBhcnNlciB3aGljaCBpcyBpbmRlcGVuZGVu dCBvZiBvdGhlciBDUnVieSBmZWF0dXJlcyBsaWtlIE9iamVjdCwgR0MuIEkgY2FsbCBzdWNoIGEg cGFyc2VyIGEgVW5pdmVyc2FsIFBhcnNlci4NDQoxLiBVc2UgVW5pdmVyc2FsIFBhcnNlciBmcm9t IFJ1YnkgYXBwbGljYXRpb25zLg0NCkZvciBleGFtcGxlIFJ1Ym9Db3AuIFJ1Ym9Db3AgbmVlZHMg YSBwYXJzZXIgdG8gZ2V0IEFTVCBvZiBzb3VyY2UgY29kZS4gQ3VycmVudGx5IFJ1Ym9Db3AgdXNl cyBwYXJzZXIgZ2VtLiBJbiB0aGlzIHNlbnNlIFVuaXZlcnNhbCBQYXJzZXIgaXMgYSByZXBsYWNl bWVudCBvZiBwYXJzZXIgZ2VtLg0NCjIuIFVzZSBVbml2ZXJzYWwgUGFyc2VyIGZyb20gQy9DKysg b3Igb3RoZXIgbGFuZ3VhZ2UuDQ0KRm9yIGV4YW1wbGUgU29yYmV0LiBTb3JiZXQgaXMgd3JpdHRl biBpbiBDKysuIEl0IGhhcyBpdHMgb3duIHBhcnNlci4gVW5pdmVyc2FsIFBhcnNlciBjYW4gYmUg dXNlZCBpbiBzdWNoIHNjZW5hcmlvLg0NCjMuIFVzZSBVbml2ZXJzYWwgUGFyc2VyIGZvciBvdGhl ciBSdWJ5IGltcGxlbWVudGF0aW9ucy4NDQptcnVieSwgSlJ1YnkgYW5kIG90aGVyIFJ1YnkgaW1w bGVtZW50YXRpb25zIHdpbGwgdXNlIFVuaXZlcnNhbCBQYXJzZXIgc28gdGhhdCB0aGV5IGRvbuKA mXQgbmVlZCB0byBkZXZlbG9wICYgbWFuYWdlIHRoZWlyIG93biBwYXJzZXIuDQ0KDQ0KIyBEZXNp Z24NDQoqIEltcGxlbWVudCBVbml2ZXJzYWwgUGFyc2VyIGJ5IGNoYW5naW5nIENSdWJ5IHNvdXJj ZSBjb2RlLCBlc3BlY2lhbGx5IHBhcnNlLnkgYW5kIG5vZGUuYy4NDQpJbnRyb2R1Y2UgYFVOSVZF UlNBTF9QQVJTRVJgIG1hY3JvIGFuZCBpbXBsZW1lbnQgVW5pdmVyc2FsIFBhcnNlciBieSBwYXNz aW5nIGFsbCBuZWNlc3NhcnkgQ1J1YnkgcmVsYXRlZCBmdW5jdGlvbnMgdmlhIGBzdHJ1Y3QgcmJf cGFyc2VyX2NvbmZpZ19zdHJ1Y3RgLiBJbiB0aGlzIHN0ZXAgdGhlcmUgYXJlIHR3byBidWlsZCBt b2RlcyB3aXRoL3dpdGhvdXQgVW5pdmVyc2FsIFBhcnNlci4NDQoqIFJlZHVjZSBDUnVieSByZWxh dGVkIGZ1bmN0aW9ucyBwYXNzZWQgYnkgYHN0cnVjdCByYl9wYXJzZXJfY29uZmlnX3N0cnVjdGAu IFNvbWUgb2YgdGhlbSBhcmUgY29waWVkIGludG8gcGFyc2UueSwgZS5nLiBgcmJfaXNzcGFjZWAu IE90aGVyIGFyZSByZWltcGxlbWVudGVkLCBlLmcuIGBOT0RFX0xJVGAgaGFzIG5ldyBTdHJpbmcg c3RydWN0IGluc3RlYWQgb2YgYFZBTFVFYC4NDQoqIE9uY2UgQ1J1YnkgcmVsYXRlZCBmdW5jdGlv bnMgbmVlZGVkIGZvciBVbml2ZXJzYWwgUGFyc2VyIGFyZSBtaW5pbWl6ZWQsIHJlcGxhY2UgcmVz dCBDUnVieSBmdW5jdGlvbiByZWZlcmVuY2VzIHdpdGggZnVuY3Rpb25zIHByb3ZpZGVkIGJ5IGBz dHJ1Y3QgcmJfcGFyc2VyX2NvbmZpZ19zdHJ1Y3RgIGFuZCByZW1vdmUgYFVOSVZFUlNBTF9QQVJT RVJgIG1hY3JvLg0NCg0NCiMgUmVsZWFzZSBtYW5hZ2VtZW50DQ0KVGhlcmUgYXJlIHRocmVlIG9w dGlvbnMgZm9yIHJlbGVhc2luZyBhIGJpbmFyeSBmb3IgVW5pdmVyc2FsIFBhcnNlciAo4oCcbGli cnVieXBhcnNlcuKAnSkuDQ0KMS4gUmVsZWFzZSBpdCBhcyBzby9kbGwNDQogIGEuIEluY2x1ZGUg aXQgaW50byBSdWJ5IHJlbGVhc2UgcHJvY2Vzcw0NCiAgYi4gQ3JlYXRlIGFub3RoZXIgcmVwb3Np dG9yeSBmb3IgcmVsZWFzZSBtYW5hZ2VtZW50IG9mICJsaWJydWJ5cGFyc2VyIg0NCjIuIFJlbGVh c2UgaXQgYXMgZ2VtIChydWJ5L3VuaXZlcnNhbF9wYXJzZXIpDQ0KImxpYnJ1YnlwYXJzZXIiIGhh cyBvbmx5IHB1cmUgQyBpbnRlcmZhY2UgYW5kIGRhdGEgc3RydWN0dXJlLiBJZiB5b3Ugd2FudCB0 byB1c2UgaXQgZnJvbSBSdWJ5IGNvZGUsIHlvdSBuZWVkIEMgZXh0ZW5zaW9uIGNvZGUgdG8gdHJh bnNsYXRlICJsaWJydWJ5cGFyc2VyIiBkYXRhIGFuZCBSdWJ5IG9iamVjdHMuIEkgcHJvcG9zZSB0 byBjcmVhdGUgInVuaXZlcnNhbF9wYXJzZXIiIGdlbSBmb3IgdGhpcyBwdXJwb3NlLg0NCg0NCkkg cHJlZmVyICMxLWIgdG8gIzEtYSBiZWNhdXNlIGl0IGRvZXNu4oCZdCBpbmNyZWFzZSB0YXNrcyBm b3IgUnVieSByZWxlYXNlIHByb2Nlc3MuIEkgd2FudCB0byBtYWtlICMyIGFzIGEgZmlyc3QgbWls ZXN0b25lLg0NCg0NCg0NCg0NCg0NCi0tIA0NCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0N CiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBydWJ5LWNv cmUgbWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1YnNj cmliZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3JnCiBy dWJ5LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMvcG9zdG9y aXVzL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLw==