[PATCH for Dlang support] Fixes for issues 84 and 88

Adela Vais <[email protected]> Tue, 20 Sep 2022 01:20:04 +0200
Newsgroups gmane.comp.parsers.bison.patches
Message-ID <CAPk8xGeOyHsEhRPPzeq_cqMbZZ9fAJ7T7C=wu5-M142kDyyFuw@mail.gmail.com>
--000000000000a315aa05e90ff413
Content-Type: text/plain; charset="UTF-8"

Hello Akim,

Here are the patches for the syntax error that appeared when using `%code
lexer` (issue 84) and the toString method of SymbolKind (issue 88).
I used the latest DMD public release, 2.100.2.

I used the proposed solutions created by ledaniel2. I'll let you handle the
author attribution for these patches.

I want to follow up with a test for the second patch, most probably next
week. I think that one possible test that could use the function can be
created through
https://github.com/adelavais/bison/blob/master/tests/regression.at#L1724 in
combination with functions from the local.at file, so I will look into this.

Thank you,
Adela

--000000000000a315aa05e90ff413
Content-Type: application/x-patch; 
	name="0002-d-fix-syntax-error-on-SymbolKind.toString-method.patch"
Content-Disposition: attachment; 
	filename="0002-d-fix-syntax-error-on-SymbolKind.toString-method.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_l891v9ge1>
X-Attachment-Id: f_l891v9ge1

RnJvbSBmYTYxODBjNmY1NTc2NDk4NTEzMGU2ZDdkZDUxMjJmMTUxODk3NDc2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBZGVsYSBWYWlzIDxhZGVsYS52YWlzOTlAZ21haWwuY29tPgpE
YXRlOiBNb24sIDE5IFNlcCAyMDIyIDE5OjA5OjIwICswMjAwClN1YmplY3Q6IFtQQVRDSCAyLzJd
IGQ6IGZpeCBzeW50YXggZXJyb3Igb24gU3ltYm9sS2luZC50b1N0cmluZyBtZXRob2QKClJlcG9y
dGVkIGJ5IGxlZGFuaWVsMi4gUHJvcG9zZWQgc29sdXRpb24gYnkgbGVkYW5pZWwyLgo8YWtpbWQj
ODg+CgoqIGRhdGEvc2tlbGV0b25zL2QubTQ6IEhlcmUuCi0tLQogZGF0YS9za2VsZXRvbnMvZC5t
NCB8IDUgKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEvZGF0YS9za2VsZXRvbnMvZC5tNCBiL2RhdGEvc2tlbGV0b25zL2Qu
bTQKaW5kZXggOTM1NGIwZmUuLmU4MmY4N2U1IDEwMDY0NAotLS0gYS9kYXRhL3NrZWxldG9ucy9k
Lm00CisrKyBiL2RhdGEvc2tlbGV0b25zL2QubTQKQEAgLTI4NCw4ICsyODQsNyBAQCBtNF9kZWZp
bmUoW2I0X2RlY2xhcmVfc3ltYm9sX2VudW1dLAogICAgICB0aGF0IGRvdWJsZS1xdW90aW5nIGlz
IHVubmVjZXNzYXJ5IHVubGVzcyB0aGUgc3RyaW5nIGNvbnRhaW5zIGFuCiAgICAgIGFwb3N0cm9w
aGUsIGEgY29tbWEsIG9yIGJhY2tzbGFzaCAob3RoZXIgdGhhbiBiYWNrc2xhc2gtYmFja3NsYXNo
KS4KICAgICAgWVlTVFIgaXMgdGFrZW4gZnJvbSB5eXRuYW1lLiAgKi8KLSAgICBmaW5hbCB2b2lk
IHRvU3RyaW5nKFcpKFcgc2luaykgY29uc3QKLSAgICBpZiAoaXNPdXRwdXRSYW5nZSEoVywgY2hh
cikpCisgICAgZmluYWwgdm9pZCB0b1N0cmluZyh2b2lkIGRlbGVnYXRlKGNvbnN0KGNoYXIpW10p
IHNpbmspIGNvbnN0CiAgICAgewogICAgICAgaW1tdXRhYmxlIHN0cmluZ1tdIHl5X3NuYW1lID0g
QHsKICAgXWI0X3N5bWJvbF9uYW1lc1sKQEAgLTI5Niw3ICsyOTUsNyBAQCBtNF9kZWZpbmUoW2I0
X2RlY2xhcmVfc3ltYm9sX2VudW1dLAogICBdYjRfdHJhbnNsYXRhYmxlWwogICAgICAgQH07XV0p
WwogCi0gICAgICBwdXQoc2luaywgeXlfc25hbWVbeXljb2RlX10pOworICAgICAgc2luay5mb3Jt
YXR0ZWRXcml0ZSEiJXMiKHl5X3NuYW1lW3l5Y29kZV9dKTsKICAgICB9CiAgIH0KIF1dKQotLSAK
Mi4yNS4xCgo=
--000000000000a315aa05e90ff413
Content-Type: application/x-patch; 
	name="0001-d-fix-interface-syntax-error.patch"
Content-Disposition: attachment; 
	filename="0001-d-fix-interface-syntax-error.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_l891v9fy0>
X-Attachment-Id: f_l891v9fy0

RnJvbSAwOWFiYjgzNzJlOTVjZjkxZDYzMzRlYzYxMWY2OGVlZGVjYjYyZDE1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBZGVsYSBWYWlzIDxhZGVsYS52YWlzOTlAZ21haWwuY29tPgpE
YXRlOiBNb24sIDE5IFNlcCAyMDIyIDE1OjEyOjM5ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxLzJd
IGQ6IGZpeCBpbnRlcmZhY2Ugc3ludGF4IGVycm9yCgpGaXggc3ludGF4IGVycm9yIHJlZ2FyZGlu
ZyBpbnRlcmZhY2UgaW5oZXJpdGFuY2Ugb2YgdGhlIExleGVyLiBJdCBhcHBlYXJlZCB3aGVuIHRo
ZSAlY29kZSBsZXhlciBvcHRpb24gd2FzIHVzZWQuCgpSZXBvcnRlZCBieSBsZWRhbmllbDIuIFBy
b3Bvc2VkIHNvbHV0aW9uIGJ5IGxlZGFuaWVsMi4gVGVzdCBhZGRlZCBieSBBZGVsYSBWYWlzLgo8
YWtpbWQjODQ+CgoqIGRhdGEvc2tlbGV0b25zL2xhbHIxLmQ6IEZpeCBzeW50YXguCiogdGVzdHMv
ZC5hdDogVGVzdCBpdC4KLS0tCiBkYXRhL3NrZWxldG9ucy9sYWxyMS5kIHwgNSArKystLQogdGVz
dHMvZC5hdCAgICAgICAgICAgICB8IDcgKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNl
cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RhdGEvc2tlbGV0b25zL2xh
bHIxLmQgYi9kYXRhL3NrZWxldG9ucy9sYWxyMS5kCmluZGV4IDMxOTVkYmY4Li4wMTE3NTMyNSAx
MDA2NDQKLS0tIGEvZGF0YS9za2VsZXRvbnMvbGFscjEuZAorKysgYi9kYXRhL3NrZWxldG9ucy9s
YWxyMS5kCkBAIC0yNjksOSArMjY5LDEwIEBAIGI0X3VzZXJfdW5pb25fbWVtYmVycwogICAgIH0K
ICAgfV1dKVsKIAotXWI0X2xleGVyX2lmKFtbICBwcml2YXRlIGNsYXNzIFlZTGV4ZXIgaW1wbGVt
ZW50cyBMZXhlciB7CitdYjRfbGV4ZXJfaWYoW1twcml2YXRlIGNsYXNzIFlZTGV4ZXI6IExleGVy
Cit7CiBdYjRfcGVyY2VudF9jb2RlX2dldChbW2xleGVyXV0pWwotICB9Cit9CiBdXSlbCiAgIC8q
KiBUaGUgb2JqZWN0IGRvaW5nIGxleGljYWwgYW5hbHlzaXMgZm9yIHVzLiAgKi8KICAgcHJpdmF0
ZSBMZXhlciB5eWxleGVyOwpkaWZmIC0tZ2l0IGEvdGVzdHMvZC5hdCBiL3Rlc3RzL2QuYXQKaW5k
ZXggNmJlNTNlZWYuLjM0N2U4NjhjIDEwMDY0NAotLS0gYS90ZXN0cy9kLmF0CisrKyBiL3Rlc3Rz
L2QuYXQKQEAgLTExMiw2ICsxMTIsMTMgQEAgQVRfQ0hFQ0tfRF9HUkVQKFtbY2xhc3MgWVlQYXJz
ZXIgOiBCYXNlQ2xhc3NdXSkKIEFUX0NIRUNLX0RfTUlOSU1BTChbJWRlZmluZSBhcGkucGFyc2Vy
LmV4dGVuZHMge0ludGVyZmFjZX1dLCBbXSwgW10sIFtpbnRlcmZhY2UgSW50ZXJmYWNlIHt9XSkK
IEFUX0NIRUNLX0RfR1JFUChbW2NsYXNzIFlZUGFyc2VyIDogSW50ZXJmYWNlXV0pCiAKK0FUX0NI
RUNLX0RfTUlOSU1BTChbJWNvZGUgbGV4ZXIKK3sKKyAgU3ltYm9sIHl5bGV4ICgpIHtyZXR1cm4g
U3ltYm9sKCk7fQorICB2b2lkIHl5ZXJyb3IgKHN0cmluZyBzKSB7aW1wb3J0IHN0ZC5zdGRpbzt3
cml0ZWxuKHMpO30KK31dLCBbXSwgW10sIFtdKQorQVRfQ0hFQ0tfRF9HUkVQKFtbcHJpdmF0ZSBj
bGFzcyBZWUxleGVyOiBMZXhlcl1dKQorCiBBVF9DSEVDS19EX01JTklNQUwoCiBbJWRlZmluZSBh
cGkucGFyc2VyLmV4dGVuZHMge0Jhc2VDbGFzc30KICVkZWZpbmUgYXBpLnBhcnNlci5pbXBsZW1l
bnRzIHtJbnRlcmZhY2V9XSwgW10sIFtdLAotLSAKMi4yNS4xCgo=
--000000000000a315aa05e90ff413--