Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 alpha 4/15/85; site pucc-h Path: utzoo!watmath!clyde!cbosgd!ihnp4!inuxc!pur-ee!pucc-j!pucc-h!ags From: ags@pucc-h (Dave Seaman) Newsgroups: net.lang.lisp Subject: Re: A BNF for Lisp Message-ID: <2431@pucc-h> Date: Wed, 13-Nov-85 10:29:09 EST Article-I.D.: pucc-h.2431 Posted: Wed Nov 13 10:29:09 1985 Date-Received: Thu, 14-Nov-85 07:31:27 EST References: <60@aquila.UUCP> Reply-To: ags@pucc-h.UUCP (Dave Seaman) Organization: Purdue University Computing Center Lines: 29 In article <60@aquila.UUCP> chris@aquila.UUCP (chris) writes: >A moment of reflection yields the following BNF syntax for >Lisp. > >Define a lisp program as a Sexpression, where Sexpression is >given as: > > Sexpression -> ATOM > | ( ) > | ( Sexpression . Sexpression ) > | ( Sexpression-List ) > > Sexpression-List -> Sexpression > | Sexpression-List Sexpression > >An ATOM in turn is a sequence of characters excluding >whitespace and the characters "()." OK, except you can't get ( A B . C ) from this syntax. The production Sexpression -> ( Sexpression . Sexpression ) should be changed to Sexpression -> ( Sexpression-List . Sexpression ) -- Dave Seaman ..!pur-ee!pucc-h!ags