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 16991 invoked from network); 31 Dec 2021 03:05:58 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 31 Dec 2021 03:05:58 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 192699D036; Fri, 31 Dec 2021 13:05:54 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 8804C9D007; Fri, 31 Dec 2021 13:05:29 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (2048-bit key; unprotected) header.d=dartmouth.edu header.i=@dartmouth.edu header.b="oWrthuMT"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 667F19D006; Fri, 31 Dec 2021 13:05:26 +1000 (AEST) Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by minnie.tuhs.org (Postfix) with ESMTPS id 191259D002 for ; Fri, 31 Dec 2021 13:05:25 +1000 (AEST) Received: by mail-wm1-f46.google.com with SMTP id n10-20020a7bc5ca000000b00345c520d38eso14164879wmk.1 for ; Thu, 30 Dec 2021 19:05:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dartmouth.edu; s=google1; h=mime-version:from:date:message-id:subject:to :content-transfer-encoding; bh=8S5ZyoR2NH614eDEzeT0mtTLIjYZ7nnuZu6aUAOOeLQ=; b=oWrthuMTYJLPQ69er0Jtpxhdub1dI8kiU8/x0NAJvKy3CYgaLilA00UjeSYSm/VLXc ZEAsZMtGnGhqyz0L9bDHHQCCi+34rqtUVcbW+vLRmPSWCAxHCsj7hE4DTZ/huQ7/Kf/P d6K/YNY6g8Kf6HIlTZLRmnpeIIl3wjJIA0T/3n3ehu1YTLCZbSbTv2n66okBS/NDbwNe 6xWFyeAep3KJX4nh4OWtK8JJx5FncVvHCFDSKYBYNlqL3qb48IhNlHbVQGyzTqe0SHEG TZSnDQz7v2eiwmd2VXyxv/swP8gxQ3RJjwQXjw522IzMDigXt9EZq8kf0dBIZvx3ajQg Jpeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to :content-transfer-encoding; bh=8S5ZyoR2NH614eDEzeT0mtTLIjYZ7nnuZu6aUAOOeLQ=; b=GR/5qRvmCMCM5P7ziNxpSYmO5eKBu0ntT39FXowrPeGccDmERdiKRfCYBxHY6Z0ae+ dePOgKni0z6UnF67ch1ZXEsrelqg9PC9a29oAHli1T6lIND3EMEbRUlVBlMWFySWI8Nd fHxUxb8shxoEsHENdKKE97atpRidL8J5abrv8+hLGgvfLCdWZOX9yd4OsHSy0ukHh7vK TJYgKxLHKvHRbPPQEFDtxS9KCbAU2KznjyuE5GE4iup8JNry6FIxpjaRabNqB7ylW+9V mQxxSHfvtGo1vPOwvVbjAYlDRqq2c0ybYPup3tjbzjo9F/j1ZYZCr7/qQyc342KilLJH 1sSQ== X-Gm-Message-State: AOAM532e66y7jfXExIDZmuIg9iHpW8s6mCRYrS/cNkuwkA5s7tifbGIo TqCMJCWLNSQjuekOi6V87XBd6Ma6v9s1BNuY8pKVLLgQWUb6Wg== X-Google-Smtp-Source: ABdhPJxlxqTc1Cou4DwqyDG2jH2Xk+qMmN+uUeuAnFBKKsiUwr3lHbJ9ABIbLeB/7t6iG2v9Em+ALsoxb8DWCsMzbVo= X-Received: by 2002:a05:600c:3b24:: with SMTP id m36mr27450739wms.4.1640919923165; Thu, 30 Dec 2021 19:05:23 -0800 (PST) MIME-Version: 1.0 From: Douglas McIlroy Date: Thu, 30 Dec 2021 22:05:08 -0500 Message-ID: To: TUHS main list Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [TUHS] v7 software X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" > Joy=E2=80=99s original 2BSD tape will give you UCB Pascal. While I agree with Kernighan that Pascal is not my favorite programming language, UCB Pascal is my favorite compiler because of its spectacularly good syntax diagnostics. The diagnostics are automatically generated, so they have a completely consistent style and never go down rabbit holes trying to explain an error. The UCB trick is to report the exact spot where LR parsing chokes and suggest a canonical alternate token that allows progress. This simple strategy is startlingly effective; the compiler taught me Pascal in an evening. It occurred to me that Pascal would be a suitable language in which to express a certain algorithm. Having skimmed the Pascal report a year or more earlier, I knew it was a pretty typical language, so I grabbed a sample program from somewhere and plowed ahead. I made mistake after mistake, but every diagnostic was instantly suggestive. By the end of the session I had a polished working program. In due time it was accepted for publication. Doug