Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!know!zaphod.mps.ohio-state.edu!rpi!bu.edu!husc6!spdcc!esegue!compilers-sender From: liam@cs.qmw.ac.uk (William Roberts) Newsgroups: comp.compilers Subject: Re: Semicolons (Re: Low-Rent Syntax) Keywords: parse, design Message-ID: <2753@sequent.cs.qmw.ac.uk> Date: 3 Sep 90 17:42:01 GMT References: <9008202341.AA06543@llama.ingres.com> <4032@rtifs1.UUCP> <1990Aug29.140407.28378@maths.nott.ac.uk> Sender: compilers-sender@esegue.segue.boston.ma.us Reply-To: liam@cs.qmw.ac.uk (William Roberts) Organization: Computer Science Dept, QMW, University of London, UK. Lines: 26 Approved: compilers@esegue.segue.boston.ma.us In <1990Aug29.140407.28378@maths.nott.ac.uk> anw@maths.nott.ac.uk (Dr A. N. Walker) writes: > while (x) > skip; /* Down with empty null statements! */ The thing I hate most about Modula-2 is that it won't allow a semicolon on the last statement of a loop-body, on the dubious grounds that you don't need one. Languages which do that clearly aren't written to be edited: at least, not without clever editors that won't let you forget the very necessary semicolon between the old last-statement-of-the-loop and the new one you have just inserted. Language designers should try to remember that a) programs get modified, and b) the syntax of the language is in part its "user interface" and should be given some thought as to its usability, not just its denotational purity! -- William Roberts ARPA: liam@cs.qmw.ac.uk Queen Mary & Westfield College UUCP: liam@qmw-cs.UUCP Mile End Road AppleLink: UK0087 LONDON, E1 4NS, UK Tel: 071-975 5250 (Fax: 081-980 6533) [I have seen many reports that the semicolon as separator, as in Algol 60 and Pascal, is much harder to get right than the semicolon as terminator, as in PL/I and C. -John] -- Send compilers articles to compilers@esegue.segue.boston.ma.us {ima | spdcc | world}!esegue. Meta-mail to compilers-request@esegue.