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