Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site petrus.UUCP
Path: utzoo!linus!decvax!bellcore!petrus!hammond
From: hammond@petrus.UUCP (Rich A. Hammond)
Newsgroups: net.lang.c
Subject: Re: "Semicolons and Statements"
Message-ID: <669@petrus.UUCP>
Date: Fri, 1-Nov-85 18:24:57 EST
Article-I.D.: petrus.669
Posted: Fri Nov  1 18:24:57 1985
Date-Received: Sun, 3-Nov-85 13:48:37 EST
References: <335@graffiti.UUCP> <895@rlvd.UUCP> <742@mmintl.UUCP> <264@mit-eddie.UUCP>
Distribution: net
Organization: Bell Communications Research, Inc
Lines: 20

> Jeff Siegal comments:
> ...  With the statement separator model (Algol, Pascal),
> one is free on insert or remove semi's at the end of the last statement
> of a block with both forms being syntactically correct.  This does not
> work with the statement terminator model (C).
>  ...

On the other hand, in the statement terminator model it is OK
to insert an else clause  (or remove it) without mucking with the
controlled statement.  This is not true in a statement separator
model.  This is a major source of my mistakes in PASCAL.
e.g.	terminator		separator
	if (c == d)		if ( c = d ) then
		a = b;			a = b ;
becomes
	if (c == d)		if ( c = d ) then
		a = b;			a = b 	{ remove semicolon for else }
	else			else
		e = f;			e = f;
Rich Hammond, Bellcore	(ihnp4|allegra|ucbvax)!bellcore!hammond