Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!gem.mps.ohio-state.edu!uakari.primate.wisc.edu!ames!sun-barr!newstop!texsun!pollux!ti-csl!m2!gateley From: gateley@m2.csc.ti.com (John Gateley) Newsgroups: comp.lang.misc Subject: Re: PL/I Grammar Keywords: PL/I, C, grammar, parser Message-ID: <94987@ti-csl.csc.ti.com> Date: 19 Oct 89 17:56:02 GMT References: <2956@usceast.UUCP> <1989Oct18.012237.548@esegue.segue.boston.ma.us> Sender: news@ti-csl.csc.ti.com Reply-To: gateley@m2.UUCP (John Gateley) Organization: TI Computer Science Center, Dallas Lines: 19 In article <1989Oct18.012237.548@esegue.segue.boston.ma.us> johnl@esegue.segue.boston.ma.us (John R. Levine) writes: >The semantics [of PL/I] are messy, too. Consider: > A = B = C; >which compares B and C and sets A to '1'B if they are equal. Minor nit: this is not messy semantics, this is still messy syntax. Consider the Lisp version of the above statement (which is pretty close to an abstract syntax tree): (setq a (= b c)) The semantics are perfectly clear, it is the syntactic overloading of '=' which makes the above statement messy. (I know my Lisp version doesn't correspond exactly, but the ``correct version'' is more complex and doesn't add anything to the discussion). John gateley@m2.csc.ti.com