From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 15875 invoked from network); 3 Mar 2023 19:19:46 -0000 Received: from minnie.tuhs.org (50.116.15.146) by inbox.vuxu.org with ESMTPUTF8; 3 Mar 2023 19:19:46 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id D0CDE432AA; Sat, 4 Mar 2023 05:19:43 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuhs.org; s=dkim; t=1677871183; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-owner:list-unsubscribe: list-subscribe:list-post; bh=tGf4WIJEsmJ8iw0YM1X/gtBnREE8IM8LhOXssrn8C9o=; b=iC85NkFjMp3FjqPJYe4IuMEunJ6zAn5iPgCWXzag6yInRsddaDh2y+awjc74075oDqZnVJ xrjGmuVyZqGiGCvIF/7f24CxI8YQ8QRg4Cu4eKnErFNCkgNN5xrTSxpyDSWzRaZbyMO78p AUv8AC9rEmtYAW3GffmGnc0uPZ8f3Ic= Received: from tncsrv06.tnetconsulting.net (tncsrv06.tnetconsulting.net [IPv6:2600:3c00:e000:1e9::8849]) by minnie.tuhs.org (Postfix) with ESMTPS id B2EA1432A9 for ; Sat, 4 Mar 2023 05:19:36 +1000 (AEST) Received: from Contact-TNet-Consulting-Abuse-for-assistance by tncsrv06.tnetconsulting.net (8.15.2/8.15.2/Debian-3) with ESMTPSA id 323JJZUW005349 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Fri, 3 Mar 2023 13:19:36 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tnetconsulting.net; s=2019; t=1677871176; bh=tGf4WIJEsmJ8iw0YM1X/gtBnREE8IM8LhOXssrn8C9o=; h=Subject:To:References:From:Message-ID:Date:User-Agent: MIME-Version:In-Reply-To:Content-Type:Cc:Content-Disposition: Content-Language:Content-Transfer-Encoding:Content-Type:Date:From: In-Reply-To:Message-ID:MIME-Version:References:Reply-To: Resent-Date:Resent-From:Resent-To:Resent-Cc:Sender:Subject:To: User-Agent; b=DaCh0uhySjm2XtRz04JnLUZzmV41NXmRui5UP01UDHpqSEcYha272ddHGkmM6xXLe ckhJA7LvB30LV093kUgb26m61JoWDqG7nWdcSIsQRFutA1p6KrR4taT7FGl5OoydJM 14h44irj4x/Lz3U9gBvvGb3tNuV2MIlNoPDcKes4= To: coff@tuhs.org References: <8d1de5c8-1f34-3d37-395d-0f1da7b062ec@spamtrap.tnetconsulting.net> <20230303105928.E88AB215AA@orac.inputplus.co.uk> <20230303134215.3ED63215AA@orac.inputplus.co.uk> Organization: TNet Consulting Message-ID: <21e8477c-c388-7b90-ed10-21c7f76f0892@spamtrap.tnetconsulting.net> Date: Fri, 3 Mar 2023 12:19:29 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <20230303134215.3ED63215AA@orac.inputplus.co.uk> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms030207070307000905060908" Message-ID-Hash: ETW3JLZN5JLJBFS4ZCCWATH4UXKN7K4C X-Message-ID-Hash: ETW3JLZN5JLJBFS4ZCCWATH4UXKN7K4C X-MailFrom: gtaylor@tnetconsulting.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [COFF] Re: Requesting thoughts on extended regular expressions in grep. List-Id: Computer Old Farts Forum Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Grant Taylor via COFF Reply-To: Grant Taylor This is a cryptographically signed message in MIME format. --------------ms030207070307000905060908 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 3/3/23 6:42 AM, Ralph Corderoy wrote: > I think Grant is after what Russ addresses in sentence 2. :-) You are mostly correct. The motivation for this thread is very much so=20 wanting to learn "how best to use today's regular expression=20 implementations". However there is also the part of me that wants to=20 have a little bit of understanding behind why the former is the case. > Yes, Friedl does show that wonderfully. From long-ago memory, Friedl > understands enough to have diagrams of NFAs and DFAs clocking through > their inputs, showing the differences in number of states, etc. It seems like I need to find another copy of Friedl's book. -- My=20 current copy is boxed up for a move nearly 1k miles away. :-/ > Yes, Friedl says an NFA must recursively backtrack. As Russ says in #3= , > it was a =E2=80=98widespread belief=E2=80=99. Friedl didn't originate = it; I =E2=80=98knew=E2=80=99 it > before reading his book. Friedl was at the sharp end of regexps, > needing to process large amounts of text, at Yahoo! IIRC. He > investigated how the programs available behaved; he didn't start at the= > theory and come up with a new program best suited to his needs. It sounds like I'm coming from a similar position of "what is the best*=20 way to process this corpus" more than "what is the underlying theory=20 behind what I'm wanting to do". > Russ's stuff is great. He refuted that widespread belief, for one > thing. But Russ isn't trying to teach a programmer how to best use the= > regexp engine in sed, grep, egrep, Perl, PCRE, ... whereas Friedl takes= > the many pages needed to do this. :-) > It depends what one wants to learn first. I'm learning that I'm more of a technician that wants to know how to use = the existing tools to the best of his / their ability. While having=20 some interest in theory behind things. > As Friedl says in the post Russ linked to: >=20 > =E2=80=98As a user, you don't care if it's regular, nonregular, unr= egular, > irregular, or incontinent. So long as you know what you can expec= t > from it (something this chapter will show you), you know all you n= eed > to care about. Yep. That's the position that I would be in if someone were paying me=20 to write the REs that I'm writing. > =E2=80=98For those wishing to learn more about the theory of regula= r expressions, > the classic computer-science text is chapter 3 of Aho, Sethi, and > Ullman's Compilers =E2=80=94 Principles, Techniques, and Tools (Ad= dison-Wesley, > 1986), commonly called =E2=80=9CThe Dragon Book=E2=80=9D due to th= e cover design. > More specifically, this is the =E2=80=9Cred dragon=E2=80=9D. The = =E2=80=9Cgreen dragon=E2=80=9D > is its predecessor, Aho and Ullman's Principles of Compiler Design= =2E=E2=80=99 This all sounds interesting to me, and like something I might add to my=20 collection of books. But it also sounds like something that will be an=20 up hill read and vast learning opportunity. > In addition to the Dragon Book, Hopcroft and Ullman's =E2=80=98Automata= Theory, > Languages, and Computation=E2=80=99 goes further into the subject. Cha= pter two > has DFA, NFA, epsilon transitions, and uses searching text as an > example. Chapter three is regular expressions, four is regular > languages. Pushdown automata is chapter six. >=20 > Too many books, not enough time to read. :-) Yep. Even inventorying and keeping track of the books can be time=20 consuming. -- Thankfully I took some time to do exactly that and have=20 access to that information on the super computer in my pocket. --=20 Grant. . . . unix || die --------------ms030207070307000905060908 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC CzowggUiMIIECqADAgECAhEAw8IZWQHDVuWWKHZeojBgoDANBgkqhkiG9w0BAQsFADCBljEL MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2Fs Zm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBD bGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQTAeFw0yMjExMTQwMDAw MDBaFw0yMzExMTQyMzU5NTlaMCsxKTAnBgkqhkiG9w0BCQEWGmd0YXlsb3JAdG5ldGNvbnN1 bHRpbmcubmV0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzOnBjTJUlBTzN81c PlYErJc9kEbTI/hXq0NA6ZoG4VM6puYTEXtITANjgX+NRwwHjldESnC8dvh6Mx5ckEk9sWoD l8Yr/dWhF3s4fGxAX5ziOeuBI/yX7rKJn6DOwclV3C6dyt3zrLB6LOiF4gA+lk/o3EbOwoPh pW2MqAywy18OIvzfmEXKdya8E/uIP4v/8AHmtakxHfmZ33Krbwh2oia69esRKc7q2i3Jh+ar Tf3PuZJETd86Sb0Lz1+3zAXcYko2/3G9O9AwtUSDvkx5IUKieG8R4a8HLwuUTBNIsJ0qOdmv 4hUjc3IsP0jN+xebTE4w7PheolE/OStiFshpKQIDAQABo4IB0zCCAc8wHwYDVR0jBBgwFoAU CcDy/AvalNtf/ivfqJlCz8ngrQAwHQYDVR0OBBYEFPUkNRFsHVlNMgaz3G4kfNa8DU4VMA4G A1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMEBggrBgEF BQcDAjBABgNVHSAEOTA3MDUGDCsGAQQBsjEBAgEBATAlMCMGCCsGAQUFBwIBFhdodHRwczov L3NlY3RpZ28uY29tL0NQUzBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLnNlY3RpZ28u Y29tL1NlY3RpZ29SU0FDbGllbnRBdXRoZW50aWNhdGlvbmFuZFNlY3VyZUVtYWlsQ0EuY3Js MIGKBggrBgEFBQcBAQR+MHwwVQYIKwYBBQUHMAKGSWh0dHA6Ly9jcnQuc2VjdGlnby5jb20v U2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcnQwIwYI KwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMCUGA1UdEQQeMByBGmd0YXlsb3JA dG5ldGNvbnN1bHRpbmcubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBdVEYkwnfj7/0fx6R9ll/7 F1HeOL+Q/gzdd4bKpaY3/dkCyHVtx2dAMixzM4YGIq4rDsbhPK1MXqQAS89B786rG9XjWKgM VlgiBHir/9eQxhvX4AbQx1eJdCXNKTMJJwyIG2qlvuor/8H8//ZIjJuBgYAzW4TZREolhzVP 4g92+De1zyWW+3bESGHgx1E1+tkdvYeQATt7wkUtsEkn05MUHGAfRWt0tE3C321ajqSuFtxC VCeGvGusV8+3rw2vsqVG/mkTsmn1EAtq0jGhVgwIgQO8soFSRt/3zWibnVk1aRrXvy45WMGv an16R0/HQp8oLG3MYq++Vq6CFBbIG+9OMIIGEDCCA/igAwIBAgIQTZQsENQ74JQJxYEtOisG TzANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkx FDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsx LjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTgx MTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjCBljELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBM aW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5k IFNlY3VyZSBFbWFpbCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMo87ZQK Qf/e+Ua56NY75tqSvysQTqoavIK9viYcKSoq0s2cUIE/bZQu85eoZ9X140qOTKl1HyLTJbaz Gl6nBEibivHbSuejQkq6uIgymiqvTcTlxZql19szfBxxo0Nm9l79L9S+TZNTEDygNfcXlkHK RhBhVFHdJDfqB6Mfi/Wlda43zYgo92yZOpCWjj2mz4tudN55/yE1+XvFnz5xsOFbme/SoY9W Aa39uJORHtbC0x7C7aYivToxuIkEQXaumf05Vcf4RgHs+Yd+mwSTManRy6XcCFJE6k/LHt3n dD3sA3If/JBz6OX2ZebtQdHnKav7Azf+bAhudg7PkFOTuRMCAwEAAaOCAWQwggFgMB8GA1Ud IwQYMBaAFFN5v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBQJwPL8C9qU21/+K9+omULP yeCtADAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUEFjAUBggr BgEFBQcDAgYIKwYBBQUHAwQwEQYDVR0gBAowCDAGBgRVHSAAMFAGA1UdHwRJMEcwRaBDoEGG P2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0 aG9yaXR5LmNybDB2BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNl cnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0 cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAQUR1AKs5whX13o6V bTJxaIwA3RfXehwQOJDI47G9FzGR87bjgrShfsbMIYdhqpFuSUKzPM1ZVPgNlT+9istp5UQN RsJiD4KLu+E2f102qxxvM3TEoGg65FWM89YN5yFTvSB5PelcLGnCLwRfCX6iLPvGlh9j30lK zcT+mLO1NLGWMeK1w+vnKhav2VuQVHwpTf64ZNnXUF8p+5JJpGtkUG/XfdJ5jR3YCq8H0OPZ kNoVkDQ5CSSF8Co2AOlVEf32VBXglIrHQ3v9AAS0yPo4Xl1FdXqGFe5TcDQSqXh3TbjugGnG +d9yZX3lB8bwc/Tn2FlIl7tPbDAL4jNdUNA7jGee+tAnTtlZ6bFz+CsWmCIb6j6lDFqkXVsp +3KyLTZGXq6F2nnBtN4t5jO3ZIj2gpIKHAYNBAWLG2Q2fG7Bt2tPC8BLC9WIM90gbMhAmtMG quITn/2fORdsNmaV3z/sPKuIn8DvdEhmWVfh0fyYeqxGlTw0RfwhBlakdYYrkDmdWC+XszE1 9GUi8K8plBNKcIvyg2omAdebrMIHiAHAOiczxX/aS5ABRVrNUDcjfvp4hYbDOO6qHcfzy/uY 0fO5ssebmHQREJJA3PpSgdVnLernF6pthJrGkNDPeUI05svqw1o5A2HcNzLOpklhNwZ+4uWY LcAi14ACHuVvJsmzNicxggQ1MIIEMQIBATCBrDCBljELMAkGA1UEBhMCR0IxGzAZBgNVBAgT EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGln byBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24g YW5kIFNlY3VyZSBFbWFpbCBDQQIRAMPCGVkBw1bllih2XqIwYKAwDQYJYIZIAWUDBAIBBQCg ggJZMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIzMDMwMzE5 MTkyOVowLwYJKoZIhvcNAQkEMSIEIAEOnpsRVhuoQDJwC00T0RPuGmsX+Bh9KQZPOQw2poO4 MGwGCSqGSIb3DQEJDzFfMF0wCwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQBAjAKBggqhkiG9w0D BzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAgcwDQYIKoZIhvcNAwIC ASgwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0 ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1p dGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNl Y3VyZSBFbWFpbCBDQQIRAMPCGVkBw1bllih2XqIwYKAwgb8GCyqGSIb3DQEJEAILMYGvoIGs MIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQH EwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAw8IZWQHD VuWWKHZeojBgoDANBgkqhkiG9w0BAQEFAASCAQBOc6+FPu4Jxl1whoNnh94tMfdSC6MUlK98 SJ8kLT2l6TX7VIkuTlDVcZ4GyllvWCwGwklKy+cFE4ZRHC1m8vw9lesuYD6L2yJsoqkp56IT CF7Gt8ksgmzScrV77bfqLsSNpKr2yLzkUCTq/EaNPXjl9bnevAohkHqqN1+rgeCpBmrbdhKi 8vkBeOZupn00/iLLqFtz42MWlw13HR7y5j9FYqYu+Cs9e61bwaZHjciHSIzH2JvL0QblYAPC YeOnmSOBdECAPAhs9KlhZMatj/ipcJ7B8Jg2v6OTaaE7Q/WvKpNYE9zKFfuO+Pt0NPCe5dCr +3S4UV0Y6C5mc8VqDkzZAAAAAAAA --------------ms030207070307000905060908--