Blame README

Packit 70b277
GNU bc version 1.07:
Packit 70b277
Packit 70b277
Extra configuration options:
Packit 70b277
Packit 70b277
	--with-readline tells bc to use the readline package that allows
Packit 70b277
	  for editing input lines when run interactive.
Packit 70b277
Packit 70b277
	--with-editline tells bc to use the BSD editline package that
Packit 70b277
	  allows for editing input lines when run interactive.
Packit 70b277
Packit 70b277
Extra make steps:
Packit 70b277
Packit 70b277
	The simple make compiles a version of bc with fixed parameters
Packit 70b277
	for the recursive multiplication algorithm.  The fixed parameter
Packit 70b277
	is the number of digits where a sequential algorithm is used
Packit 70b277
	instead of the recursive algorithm.  It is set to a value that
Packit 70b277
	is known good on a couple of machines. (Sparc Ultra 10, Pentium
Packit 70b277
	II, 450.)  I'm calling this point the crossover point.
Packit 70b277
Packit 70b277
	To make a version of bc with a custom crossover point for your
Packit 70b277
	machine, do the following steps:
Packit 70b277
Packit 70b277
		make timetest
Packit 70b277
		make
Packit 70b277
Packit 70b277
	The timetest step takes a minimum of 10 minutes to complete.
Packit 70b277
Packit 70b277
Packit 70b277
-------- Original comp.sources.reviewed README --------
Packit 70b277
Packit 70b277
Program: GNU bc
Packit 70b277
Author: Philip A. Nelson
Packit 70b277
E-mail: phil@cs.wwu.edu
Packit 70b277
OS: UNIX (BSD, System V, MINIX, POSIX)
Packit 70b277
Copying: GNU GPL version 2
Packit 70b277
Copyright holder: Free Software Foundation, Inc. 
Packit 70b277
Version: bc version 1.01
Packit 70b277
Required: vsprintf and vfprintf routines.
Packit 70b277
Machines: It has been compiled and run on the following environments:
Packit 70b277
	BSD4.3 (VAX 11)
Packit 70b277
	MINIX 1.5 (IBM PC, both K&R and ANSI compilers)
Packit 70b277
	MINIX 1.5 (pc532)
Packit 70b277
	SUN-OS 4.1 (SUN 3 and SUN 4)
Packit 70b277
	SVR3V5 (Motorola 68K)
Packit 70b277
	SVR3.2 (3B2)
Packit 70b277
	SVR4.0.2 (a 386 box)
Packit 70b277
	ULTRIX 4.1 (DEC 5000)
Packit 70b277
	UTS (Amdahl)
Packit 70b277
Packit 70b277
bc is an arbitrary precision numeric processing language.  Syntax is
Packit 70b277
similar to C, but differs in many substantial areas.  It supports
Packit 70b277
interactive execution of statements.  bc is a utility included in the
Packit 70b277
POSIX P1003.2/D11 draft standard.
Packit 70b277
Packit 70b277
This version was written to be a POSIX compliant bc processor with
Packit 70b277
several extensions to the draft standard.  Option flags are available
Packit 70b277
to cause warning or rejection of the extensions to the POSIX standard.
Packit 70b277
For those who want only POSIX bc with no extensions, a grammar is
Packit 70b277
provided for exactly the language described in the POSIX document.
Packit 70b277
The grammar (sbc.y) comes from the POSIX document.  The Makefile
Packit 70b277
contains rules to make sbc.  (for Standard BC)
Packit 70b277
Packit 70b277
Since the POSIX document does not specify how bc must be implemented,
Packit 70b277
this version does not use the historical method of having bc be a
Packit 70b277
compiler for the dc calculator.  This version has a single executable
Packit 70b277
that both compiles the language and runs the a resulting "byte code".
Packit 70b277
The "byte code" is NOT the dc language.
Packit 70b277
Packit 70b277
Also, included in the initial distribution is the library file
Packit 70b277
vfprintf.c for MINIX systems.  My minix 1.5 did not have this file.
Packit 70b277
Also, you should verify that vsprintf.c works correctly on your
Packit 70b277
system.
Packit 70b277
Packit 70b277
The extensions add some features I think are missing.  The major
Packit 70b277
changes and additions for bc are (a) names are allowed to be full
Packit 70b277
identifiers ([a-z][a-z0-9_]*), (b) addition of the &&, ||, and !
Packit 70b277
operators, (c) allowing comparison and boolean operations in any
Packit 70b277
expression, (d) addition of an else clause to the if statement, (e)
Packit 70b277
addition of a new standard function "read()" that reads a number from
Packit 70b277
the standard input under program control, (f) passing of arrays as
Packit 70b277
parameters by variable, (g) addition of the "halt" statement that is
Packit 70b277
an executable statement unlike the quit (i.e.  "if (1 == 0) quit" will
Packit 70b277
halt bc but "if (1 == 0) halt" will not halt bc.), and (h) the
Packit 70b277
addition of the special variable "last" that is assigned the value of
Packit 70b277
each print as the number is printed.
Packit 70b277
-----------------------------------------------------------------------