[ruby-core:109984] [Ruby master Feature#19013] Error Tolerant Parser
From:
duerst <noreply@...>
Date:
2022-09-22 03:04:43 UTC
List:
ruby-core #109984
SXNzdWUgIzE5MDEzIGhhcyBiZWVuIHVwZGF0ZWQgYnkgZHVlcnN0IChNYXJ0aW4gRMO8cnN0KS4N Cg0KDQpUaGUgdG9waWMgb2YgcGFyc2luZyBpbmNvbXBsZXRlIHN5bnRheCBhbHNvIGNhbWUgdXAg aW4gS2V2aW4gTmV3dG9uJ3MgdGFsayAoc2VlIGh0dHBzOi8vcnVieWthaWdpLm9yZy8yMDIyL3By ZXNlbnRhdGlvbnMva2RkbmV3dG9uLmh0bWwpIGF0IFJ1YnlLYWlnaSAyMDIyLiBJbiB0aGUgdGFs aywgaGUgc2FpZCBoZSBpcyB3b3JraW5nIG9uIGEgbmV3IHBhcnNlci4gTWF5YmUgdGhlc2UgZWZm b3J0cyBjb3VsZCBiZSBjb21iaW5lZD8NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KRmVhdHVyZSAjMTkwMTM6IEVycm9yIFRvbGVyYW50IFBhcnNlcg0KaHR0cHM6 Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE5MDEzI2NoYW5nZS05OTIzMw0KDQoqIEF1dGhv cjogeXVpLWtuayAoS2FuZWtvIFl1aWNoaXJvKQ0KKiBTdGF0dXM6IE9wZW4NCiogUHJpb3JpdHk6 IE5vcm1hbA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCYWNr Z3JvdW5kDQoNCkltcGxlbWVudGF0aW9uIGZvciBMYW5ndWFnZSBTZXJ2ZXIgUHJvdG9jb2wgKExT UCkgc29tZXRpbWVzIG5lZWRzIHRvIHBhcnNlIGluY29tcGxldGUgcnVieSBzY3JpcHQgZm9yIGV4 YW1wbGUgdXNlcnMgd2FudCB0byBjb21wbGVtZW50IGV4cHJlc3Npb25zIGluIHRoZSBtaWRkbGUg b2Ygc3RhdGVtZW50IGxpa2UgYmVsb3c6DQoNCmBgYHJ1YnkNCmNsYXNzIEENCiAgZGVmIG0NCiAg ICBhID0gMTANCiAgICBpZiAjIGhlcmUgdXNlcnMgd2FudCB0byBydW4gY29tcGxldGlvbg0KICBl bmQNCmVuZA0KYGBgDQoNCkluIHN1Y2ggY2FzZSwgTFNQIGltcGxlbWVudGF0aW9uIHdhbnRzIHRv IGdldCBwYXJ0aWFsIEFTVCBpbnN0ZWFkIG9mIHN5bnRheCBlcnJvci4NCg0KIyBQcm9wb3NhbA0K DQpBdCB0aGUgbW9tZW50IEkgd2FudCB0byBwcm9wb3NlIDMgdHlwZXMgb2YgdG9sZXJhbmNlDQoN CiMjIDEuIENvbXBsZW1lbnQgYGVuZGAgd2hlbiBsZXhlciBoaXRzIHRvIGVuZC1vZi1pbnB1dCBi dXQgYGVuZGAgaXMgbm90IGVub3VnaA0KDQpUaGlzIGlzIGEgY2FzZS4gTGV4ZXIgd2lsbCBnZW5l cmF0ZSAxIGBlbmRgIGJlZm9yZSBnZW5lcmF0ZXMgZW5kLW9mLWlucHV0Lg0KDQpgYGBydWJ5DQpk ZXNjcmliZSAiMSIgZG8NCiAgZGVzY3JpYmUgIjIiIGRvDQogICAgZGVzY3JpYmUgIjMiIGRvDQog ICAgICBpdCAiaGVyZSIgZG8NCiAgICBlbmQNCiAgZW5kDQplbmQNCmBgYA0KDQojIyAyLiBFeHRy YWN0ICJlbmQiIGFzIGtleXdvcmQgbm90IGlkZW50aWZpZXIgYmFzZWQgb24gYW4gaW5kZW50DQoN ClRoaXMgaXMgYSBjYXNlLiBOb3JtYWwgcGFyc2VyIHJlY29nbml6ZXMgImVuZCIgb24gbGluZSA0 IGFzICJsb2NhbCB2YXJpYWJsZSBvciBtZXRob2QiLg0KVGhpcyBjYXVzZXMgbm90IG9ubHkgc3lu dGF4IGVycm9yIGJ1dCBhbHNvIGBiYXJgIG1ldGhvZCBkZWZpbml0aW9uIGlzIGFzc3VtZWQgYXMg YFo6OkZvbyNiYXJgLg0KT3RoZXIgYXBwcm9hY2ggaXMgc3VwcHJlc3MgYCFJU19sZXhfc3RhdGUo RVhQUl9ET1QpYCBjaGVja3MgZm9yICJlbmQiLg0KDQpgYGBydWJ5DQptb2R1bGUgWg0KICBjbGFz cyBGb28NCiAgICBmb28uDQogIGVuZA0KDQogIGRlZiBiYXINCiAgZW5kDQplbmQNCmBgYA0KDQoj IyAzLiBDaGFuZ2UgbG9jYXRpb25zIG9mIGBlcnJvcmANCg0KQ3VycmVudGx5IGBlcnJvcmAgaXMg cHV0IGludG8gYHRvcF9zdG10c2AgYW5kIGBzdG10c2AgbGlrZSBgdG9wX3N0bXRzOiBlcnJvciB0 b3Bfc3RtdGAgYW5kIGBzdG10czogZXJyb3Igc3RtdGAuDQpIb3dldmVyIHRoZXNlIGFyZSB0b28g c3RyaWN0IHRvIGNhdGNoIHN5bnRheCBlcnJvciB0aGVuIHdhbnQgdG8gbW92ZSBpdCB0byBgc3Rt dDogZXJyb3JgIGFuZCBgZXhwcl92YWx1ZTogZXJyb3JgLg0KDQojIEludGVyZmFjZQ0KDQoqIEFk ZGluZyBgZXJyb3JfdG9sZXJhbnRgIG9wdGlvbiB0byBgUnVieVZNOjpBYnN0cmFjdFN5bnRheFRy ZWUucGFyc2VgDQoqIEFkZGluZyBgLS1lcnJvci10b2xlcmFudC1wYXJzZXJgIG9wdGlvbiB0byBy dWJ5IGNvbW1hbmQgZm9yIGRlYnVnZ2luZw0KICAqIFRoaXMgb3B0aW9uIGlzIHZhbGlkIG9ubHkg d2hlbiBg4oCTZHVtcD15eWRlYnVnYCwgYC0tZHVtcD1wYXJzZXRyZWVgIG9yIGAtLWR1bXA9cGFy c2V0cmVlX3dpdGhfY29tbWVudGAgaXMgcGFzc2VkDQoNCiMgQ29tcGF0aWJpbGl0eQ0KDQpDaGFu Z2luZyB0aGUgbG9jYXRpb24gb2YgYGVycm9yYCBjYW4gbGVhZCBpbmNvbXBhdGliaWxpdHkuIEF0 IGxlYXN0IEkgb2JzZXJ2ZWQgMiB0ZXN0IGNhc2VzIGluIHJ1YnkvcnVieSBhcmUgYnJva2VuIGJ5 IHRoaXMgY2hhbmdlLg0KSSB0aGluayBib3RoIG9mIHRoZW0gZGVwZW5kIG9uIGhvdyByaXBwZXIg YmVoYXZlcyBhZnRlciByaXBwZXIgcmFpc2VzIHN5bnRheCBlcnJvci4NCg0KKiBSRG9jOiBodHRw czovL2dpdGh1Yi5jb20veXVpLWtuay9ydWJ5L2NvbW1pdC8xZGFiYmU1MDhmMGNjM2RkNGY4M2Fh NzI1MDJiYmYzNDcwMjlkZDhjDQogICogSG93ZXZlciBydWJ5IHNjcmlwdCBpbiBoZXJlZG9jIGlz IGludmFsaWQuLi4NCiogaXJiOiBodHRwczovL2dpdGh1Yi5jb20veXVpLWtuay9ydWJ5L2NvbW1p dC9lMThiZTE5ZWNkMDQ0ZWIyNmE1NmY2ZjliYTRmMTlkNDBjMDFhOWM3DQogICogUmFuZ2Ugb2Yg ZXJyb3IgY29sb3JpbmcgaXMgY2hhbmdlZA0KDQpBbGwgb3RoZXIgY2hhbmdlcyBhcmUgcmVsYXRl ZCB0byBub3QgcGFyc2VyIGJ1dCBsZXhlciBhbmQgdGhleSBhcmUgY29udHJvbGxlZCBieSBgZXJy b3JfdG9sZXJhbnRgIG9wdGlvbi4gVGhlcmVmb3JlIG5vIGJlaGF2aW9yIGNoYW5nZSBpcyBleHBl Y3RlZCBmb3IgcnVieSBwYXJzZXIgYW5kIHJpcHBlci4NCg0KIyBJbXBsZW1lbnRhdGlvbg0KDQpo dHRwczovL2dpdGh1Yi5jb20veXVpLWtuay9ydWJ5L3RyZWUvZXJyb3JfcmVjb3ZlcnlfaW5kZW50 X2F3YXJlDQoNCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQoKVW5zdWJz Y3JpYmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJqZWN0PXVu c3Vic2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWlsbWFuL29w dGlvbnMvcnVieS1jb3JlPgo=