Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!seismo!rochester!rocksanne!xrxns!spitfire!dupre
From: dupre@spitfire.UUCP (Frank Dupre)
Newsgroups: comp.lang.c,comp.lang.misc
Subject: Re: Small-C
Message-ID: <213@xrxns.UUCP>
Date: Fri, 17-Jul-87 09:09:58 EDT
Article-I.D.: xrxns.213
Posted: Fri Jul 17 09:09:58 1987
Date-Received: Sat, 18-Jul-87 13:49:17 EDT
References: <3452@ihlpg.ATT.COM>
Sender: nobody@xrxns.UUCP
Reply-To: dupre@spitfire.UUCP (Frank Dupre)
Organization: EDDS/CAD, Xerox Corp., Leesburg, Va.
Lines: 51
Keywords: Byte Works, Inc., Small-C,
Summary: Brief synopsis
Xref: mnetor comp.lang.c:3119 comp.lang.misc:549

In article <3452@ihlpg.ATT.COM> rre@ihlpg.ATT.COM (Velveteen Rabbit Corps) writes:
>
>But, what is Small-C?  Just how much of standard K&R C does it 
>implement or leave out? 
>
>Roger Espinosa
>ihnp4!ihlpg!rre

Small-C is a public domain subset of K&R originally written by
Ron Cain and published in Dr. Dobb's Journal issue no. #45 (may80).

In DDJ #74 (dec82) James E. Hendrix published Small-C v.2, which
was followed by his book The Small-C Handbook, ISBN 0-8359-7012-4,
Reston Publishing Company, circa 1984.

It should be noted that these version were from the Intel 8080/
Zilog Z80, i.e., CP/M machines.  Version appeared for the Intel
8088/8086 - 80x86 as 'commerical' products, notably Datalight's
Small-C.

The original version only recogized char & int, had one-dimensional
arrays, and the, while statement, was the only loop-control.
The 'new and improved' v2 & v2.1, included th quote Hendrix:

    (1) code optimization, (2) data initialization, (3) 
    conditional compilation, (4) the extern storage class, 
    (5) the for, do/while, switch, and goto statements, 
    (6) assignments operators (7) Boolean operators, (8) the 
    one's complement operator, and various other features.

An implementation for the Mostek 6502, Atari 400,600,800,800XL,
65XE,130XE was done by John Howard Pelevich, this version supported
Atari graphics, etc. and was not PD, though the purchase included 
source code.

There have been several other ports of both the original and version
2, to other processors, as well as extentions to the language, and
libraries of 'useful stuff' have been created in it, for it.

At one time I worked on a version for the 68000 as part of a project
for a Compiler Construction Class.  Can't find now 8-( still haven't
unpacked my graduate school books yet!

Hope this helps you out 8-) 

* (XNS) Frank Dupre:LSBG-EGP/CAD:Xerox
* (uucp) (...!seismo!rochester!rocksanne!xrxns!dupre)
* (US Post) Xerox Corporation - XICTMD
	    P.O. Box 2000
	    Leesburg, VA. 22075
* (Intelnet) 8*437-5487  (Ma Bell) (703) 729-8000  Ex# 5487