strange code in lexer
Anthony Clayden <[email protected]> Sat, 06 Oct 2018 18:34:39 +1300
| Newsgroups | gmane.comp.lang.haskell.hugs.bugs |
|---|---|
| Message-ID | <[email protected]> |
UmVhZGluZyBpbnB1dC5jIChhcyB5b3UgZG8gCi0gSSB3YXMgbW9kaWZ5aW5nIHRvIGFsbG93IFRS ZXggbGFiZWwgbmFtZXMgdG8gc3RhcnQKdXBwZXItY2FzZSksCgp0aGVyZSdzIHNvbWUgc3RyYW5n ZSBjb2RlIGluIGxleGluZyBxdWFsaWZpZWQgbmFtZXMgLS0Kcm91dGluZSB5eWxleCgpOgoKICAg IGlmIChpc0luKGMwLExBUkdFKSkgeyAgICAgICAgICAgICAgIC8qIExvb2sgZm9yCnF1YWxpZmll ZCBuYW1lICAgICAgICAgKi8KCVRleHQgaXQgPSByZWFkSWRlbnQoKTsgICAgICAgICAgLyogTm8g a2V5d29yZCBiZWdpbnMgd2l0aApMQVJHRSAuLi4qLwoJaWYgKGMwPT0nLicgJiYgaXNJbihjMSwo U01BTEx8TEFSR0V8U1lNQk9MKSkpIHsKCSAgICBUZXh0IGl0MiA9IE5JTDsKbG9vcDoJICAgIHNr aXAoKTsgICAgICAgICAgICAgICAgICAgICAvKiBTa2lwIHF1YWxpZnlpbmcgZG90CiAgICAgICAg ICAgICovCgkgICAgaWYgKGlzSW4oYzAsU1lNQk9MKSkgeyAvKiBRdWFsaWZpZWQgb3BlcmF0b3Ig Ki8KCQlpdDIgPSByZWFkT3BlcmF0b3IoKTsKCQlpZiAob3BUeXBlPT1DT05PUCkgewoJCSAgICB0 b3AoKSA9IHl5bHZhbCA9IG1rUUNvbk9wKGl0LGl0Mik7CgkJICAgIHJldHVybiBRQ09OT1A7CgkJ fSBlbHNlIHsKCQkgICAgdG9wKCkgPSB5eWx2YWwgPSBta1FWYXJPcChpdCxpdDIpOwoJCSAgICBy ZXR1cm4gUVZBUk9QOwoJCX0KCSAgICB9IGVsc2UgeyAgICAgICAgICAgICAgIC8qIFF1YWxpZmll ZCBpZGVudGlmaWVyICovCgkJaXQyID0gcmVhZElkZW50KCk7CgkJaWYgKGlkZW50VHlwZT09Q09O SUQpIHsKCQkgICAgdG9wKCkgPSB5eWx2YWwgPSBta1FDb24oaXQsaXQyKTsKICAgICAgICAgICAg ICAgICAgICBpZiAoYzA9PScuJyAmJgppc0luKGMwLChTTUFMTHxMQVJHRXxTWU1CT0wpKSkgewog ICAgICAgICAgICAgICAgICAgICAgICBpdCA9IG1rTmVzdGVkUXVhbCh5eWx2YWwpOwogICAgICAg ICAgICAgICAgICAgICAgICBnb3RvIGxvb3A7CiAgICAgICAgICAgICAgICAgICAgfQoJCSAgICBy ZXR1cm4gUUNPTklEOwoJCX0gZWxzZSB7CgkJICAgIHRvcCgpID0geXlsdmFsID0gbWtRVmFyKGl0 LGl0Mik7CgkJICAgIHJldHVybiBRVkFSSUQ7CgpBZnRlciB0aGUgZmlyc3QgcmVhZElkZW50KCAp LCBsb29rIGZvciB0cmFpbGluZyAnLicgdGhlbgpsZXR0ZXIgb3Igc3ltYm9sLgppZSBjMCA9PSAn LicgJiYgaXNJbihjMSwgLi4uKQoKSWYgYSBsZXR0ZXI7IHJlYWRJZGVudCggKSB0aGVuIGxvb2sg YWdhaW4gZm9yIHRyYWlsaW5nICcuJwp0aGVuIGxldHRlciBvciBzeW1ib2wuCgpCdXQgdGhhdCBj b2RlIGhhcyBjMCA9PSAnLicgJiYgaXNJbihjMCwgLi4uKQpUaGF0IG11c3QgYWx3YXlzIHJldHVy biBGYWxzZSwgc3VyZWx5KD8pIFRlc3RpbmcgYzAgdHdpY2UuClRoZSBzZWNvbmQgYzAgc2hvdWxk IGJlIGMxKD8pCgpJJ3ZlIHRyaWVkIGJyZWFraW5nIGl0IGJ5IHVzaW5nIGEgbW9kdWxlIG5hbWUg NC1kb3RzLWRlZXAuCkJ1dCB0aGF0IHNlZW1lZCB0byB3b3JrLiAoUGVyaGFwcyB0aGUgeWFjYyBk ZXRlY3RzIHNvbWV0aGluZwogYW5kIGdsdWVzIGl0IGJhY2sgdG9nZXRoZXI/IEknbSBmaW5kaW5n IHRoYXQgaW1wZW5ldHJhYmxlLikKCkl0IGlmIGl0IGFpbid0IGJyb2tlLCBJJ20gdmVyeSBsb2F0 aGUgdG8gZml4IGl0LgoKCkJUVyBnb3R0YSBsb3ZlIHRoYXQgZ290byB0byBhIGxhYmVsIGNhbGxl ZCBgbG9vcGAgOy0pCgpBbnRDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkh1Z3MtQnVncyBtYWlsaW5nIGxpc3QKSHVncy1CdWdzQGhhc2tlbGwub3JnCmh0 dHA6Ly9tYWlsLmhhc2tlbGwub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9odWdzLWJ1Z3MK