[ruby-core:110003] [Ruby master Feature#19013] Error Tolerant Parser
From:
"matz (Yukihiro Matsumoto)" <noreply@...>
Date:
2022-09-22 21:10:10 UTC
List:
ruby-core #110003
SXNzdWUgIzE5MDEzIGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWF0eiAoWXVraWhpcm8gTWF0c3Vtb3Rv KS4NCg0KDQpLZXZpbidzIHdvcmsgaGFzIGJyb2FkZXIgZ29hbHMsIGUuZy4gYmVpbmcgZmFzdGVy LCBjb25zdW1pbmcgbGVzcyBtZW1vcnksIHdoaWNoIHNob3VsZCBiZSBmcmVlIGZyb20geWFjYy9i aXNvbiBsaW1pdGF0aW9uLg0KSSBjb25zaWRlciB0aGlzIHdvcmsgYXMgYW4gZXhwZXJpbWVudCB0 byBleHBsb3JlIGVycm9yLXRvbGVyYW50LW5lc3MuDQoNCk1hdHouDQoNCg0KDQotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGZWF0dXJlICMxOTAxMzogRXJyb3IgVG9s ZXJhbnQgUGFyc2VyDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTkwMTMjY2hh bmdlLTk5MjU0DQoNCiogQXV0aG9yOiB5dWkta25rIChLYW5la28gWXVpY2hpcm8pDQoqIFN0YXR1 czogT3Blbg0KKiBQcmlvcml0eTogTm9ybWFsDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQojIEJhY2tncm91bmQNCg0KSW1wbGVtZW50YXRpb24gZm9yIExhbmd1YWdl IFNlcnZlciBQcm90b2NvbCAoTFNQKSBzb21ldGltZXMgbmVlZHMgdG8gcGFyc2UgaW5jb21wbGV0 ZSBydWJ5IHNjcmlwdCBmb3IgZXhhbXBsZSB1c2VycyB3YW50IHRvIGNvbXBsZW1lbnQgZXhwcmVz c2lvbnMgaW4gdGhlIG1pZGRsZSBvZiBzdGF0ZW1lbnQgbGlrZSBiZWxvdzoNCg0KYGBgcnVieQ0K Y2xhc3MgQQ0KICBkZWYgbQ0KICAgIGEgPSAxMA0KICAgIGlmICMgaGVyZSB1c2VycyB3YW50IHRv IHJ1biBjb21wbGV0aW9uDQogIGVuZA0KZW5kDQpgYGANCg0KSW4gc3VjaCBjYXNlLCBMU1AgaW1w bGVtZW50YXRpb24gd2FudHMgdG8gZ2V0IHBhcnRpYWwgQVNUIGluc3RlYWQgb2Ygc3ludGF4IGVy cm9yLg0KDQojIFByb3Bvc2FsDQoNCkF0IHRoZSBtb21lbnQgSSB3YW50IHRvIHByb3Bvc2UgMyB0 eXBlcyBvZiB0b2xlcmFuY2UNCg0KIyMgMS4gQ29tcGxlbWVudCBgZW5kYCB3aGVuIGxleGVyIGhp dHMgdG8gZW5kLW9mLWlucHV0IGJ1dCBgZW5kYCBpcyBub3QgZW5vdWdoDQoNClRoaXMgaXMgYSBj YXNlLiBMZXhlciB3aWxsIGdlbmVyYXRlIDEgYGVuZGAgYmVmb3JlIGdlbmVyYXRlcyBlbmQtb2Yt aW5wdXQuDQoNCmBgYHJ1YnkNCmRlc2NyaWJlICIxIiBkbw0KICBkZXNjcmliZSAiMiIgZG8NCiAg ICBkZXNjcmliZSAiMyIgZG8NCiAgICAgIGl0ICJoZXJlIiBkbw0KICAgIGVuZA0KICBlbmQNCmVu ZA0KYGBgDQoNCiMjIDIuIEV4dHJhY3QgImVuZCIgYXMga2V5d29yZCBub3QgaWRlbnRpZmllciBi YXNlZCBvbiBhbiBpbmRlbnQNCg0KVGhpcyBpcyBhIGNhc2UuIE5vcm1hbCBwYXJzZXIgcmVjb2du aXplcyAiZW5kIiBvbiBsaW5lIDQgYXMgImxvY2FsIHZhcmlhYmxlIG9yIG1ldGhvZCIuDQpUaGlz IGNhdXNlcyBub3Qgb25seSBzeW50YXggZXJyb3IgYnV0IGFsc28gYGJhcmAgbWV0aG9kIGRlZmlu aXRpb24gaXMgYXNzdW1lZCBhcyBgWjo6Rm9vI2JhcmAuDQpPdGhlciBhcHByb2FjaCBpcyBzdXBw cmVzcyBgIUlTX2xleF9zdGF0ZShFWFBSX0RPVClgIGNoZWNrcyBmb3IgImVuZCIuDQoNCmBgYHJ1 YnkNCm1vZHVsZSBaDQogIGNsYXNzIEZvbw0KICAgIGZvby4NCiAgZW5kDQoNCiAgZGVmIGJhcg0K ICBlbmQNCmVuZA0KYGBgDQoNCiMjIDMuIENoYW5nZSBsb2NhdGlvbnMgb2YgYGVycm9yYA0KDQpD dXJyZW50bHkgYGVycm9yYCBpcyBwdXQgaW50byBgdG9wX3N0bXRzYCBhbmQgYHN0bXRzYCBsaWtl IGB0b3Bfc3RtdHM6IGVycm9yIHRvcF9zdG10YCBhbmQgYHN0bXRzOiBlcnJvciBzdG10YC4NCkhv d2V2ZXIgdGhlc2UgYXJlIHRvbyBzdHJpY3QgdG8gY2F0Y2ggc3ludGF4IGVycm9yIHRoZW4gd2Fu dCB0byBtb3ZlIGl0IHRvIGBzdG10OiBlcnJvcmAgYW5kIGBleHByX3ZhbHVlOiBlcnJvcmAuDQoN CiMgSW50ZXJmYWNlDQoNCiogQWRkaW5nIGBlcnJvcl90b2xlcmFudGAgb3B0aW9uIHRvIGBSdWJ5 Vk06OkFic3RyYWN0U3ludGF4VHJlZS5wYXJzZWANCiogQWRkaW5nIGAtLWVycm9yLXRvbGVyYW50 LXBhcnNlcmAgb3B0aW9uIHRvIHJ1YnkgY29tbWFuZCBmb3IgZGVidWdnaW5nDQogICogVGhpcyBv cHRpb24gaXMgdmFsaWQgb25seSB3aGVuIGDigJNkdW1wPXl5ZGVidWdgLCBgLS1kdW1wPXBhcnNl dHJlZWAgb3IgYC0tZHVtcD1wYXJzZXRyZWVfd2l0aF9jb21tZW50YCBpcyBwYXNzZWQNCg0KIyBD b21wYXRpYmlsaXR5DQoNCkNoYW5naW5nIHRoZSBsb2NhdGlvbiBvZiBgZXJyb3JgIGNhbiBsZWFk IGluY29tcGF0aWJpbGl0eS4gQXQgbGVhc3QgSSBvYnNlcnZlZCAyIHRlc3QgY2FzZXMgaW4gcnVi eS9ydWJ5IGFyZSBicm9rZW4gYnkgdGhpcyBjaGFuZ2UuDQpJIHRoaW5rIGJvdGggb2YgdGhlbSBk ZXBlbmQgb24gaG93IHJpcHBlciBiZWhhdmVzIGFmdGVyIHJpcHBlciByYWlzZXMgc3ludGF4IGVy cm9yLg0KDQoqIFJEb2M6IGh0dHBzOi8vZ2l0aHViLmNvbS95dWkta25rL3J1YnkvY29tbWl0LzFk YWJiZTUwOGYwY2MzZGQ0ZjgzYWE3MjUwMmJiZjM0NzAyOWRkOGMNCiAgKiBIb3dldmVyIHJ1Ynkg c2NyaXB0IGluIGhlcmVkb2MgaXMgaW52YWxpZC4uLg0KKiBpcmI6IGh0dHBzOi8vZ2l0aHViLmNv bS95dWkta25rL3J1YnkvY29tbWl0L2UxOGJlMTllY2QwNDRlYjI2YTU2ZjZmOWJhNGYxOWQ0MGMw MWE5YzcNCiAgKiBSYW5nZSBvZiBlcnJvciBjb2xvcmluZyBpcyBjaGFuZ2VkDQoNCkFsbCBvdGhl ciBjaGFuZ2VzIGFyZSByZWxhdGVkIHRvIG5vdCBwYXJzZXIgYnV0IGxleGVyIGFuZCB0aGV5IGFy ZSBjb250cm9sbGVkIGJ5IGBlcnJvcl90b2xlcmFudGAgb3B0aW9uLiBUaGVyZWZvcmUgbm8gYmVo YXZpb3IgY2hhbmdlIGlzIGV4cGVjdGVkIGZvciBydWJ5IHBhcnNlciBhbmQgcmlwcGVyLg0KDQoj IEltcGxlbWVudGF0aW9uDQoNCmh0dHBzOi8vZ2l0aHViLmNvbS95dWkta25rL3J1YnkvdHJlZS9l cnJvcl9yZWNvdmVyeV9pbmRlbnRfYXdhcmUNCg0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVi eS1sYW5nLm9yZy8NCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5 LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9y Zy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==