home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / bc-1.03-src.tgz / tar.out / fsf / bc / README < prev    next >
Text File  |  1996-09-28  |  3KB  |  72 lines

  1. This is GNU bc version 1.03.
  2.  
  3. Changes from 1.02
  4.  
  5.     minor bug fixes in bc.
  6.  
  7.     addition of Ken Pizzini's dc program that uses the GNU bc 
  8.     arbitrary precision arithmetic routines.
  9.  
  10. Changes from 1.01
  11.     
  12.     minor bug fixes.
  13.  
  14.  
  15. -------- Original comp.sources.reviewed README --------
  16.  
  17. Program: GNU bc
  18. Author: Philip A. Nelson
  19. E-mail: phil@cs.wwu.edu
  20. OS: UNIX (BSD, System V, MINIX, POSIX)
  21. Copying: GNU GPL version 2
  22. Copyright holder: Free Software Foundation, Inc. 
  23. Version: bc version 1.01
  24. Required: vsprintf and vfprintf routines.
  25. Machines: It has been compiled and run on the following environments:
  26.     BSD4.3 (VAX 11)
  27.     MINIX 1.5 (IBM PC, both K&R and ANSI compilers)
  28.     MINIX 1.5 (pc532)
  29.     SUN-OS 4.1 (SUN 3 and SUN 4)
  30.     SVR3V5 (Motorola 68K)
  31.     SVR3.2 (3B2)
  32.     SVR4.0.2 (a 386 box)
  33.     ULTRIX 4.1 (DEC 5000)
  34.     UTS (Amdahl)
  35.  
  36. bc is an arbitrary precision numeric processing language.  Syntax is
  37. similar to C, but differs in many substantial areas.  It supports
  38. interactive execution of statements.  bc is a utility included in the
  39. POSIX P1003.2/D11 draft standard.
  40.  
  41. This version was written to be a POSIX compliant bc processor with
  42. several extensions to the draft standard.  Option flags are available
  43. to cause warning or rejection of the extensions to the POSIX standard.
  44. For those who want only POSIX bc with no extensions, a grammar is
  45. provided for exactly the language described in the POSIX document.
  46. The grammar (sbc.y) comes from the POSIX document.  The Makefile
  47. contains rules to make sbc.  (for Standard BC)
  48.  
  49. Since the POSIX document does not specify how bc must be implemented,
  50. this version does not use the historical method of having bc be a
  51. compiler for the dc calculator.  This version has a single executable
  52. that both compiles the language and runs the a resulting "byte code".
  53. The "byte code" is NOT the dc language.
  54.  
  55. Also, included in the initial distribution is the library file
  56. vfprintf.c for MINIX systems.  My minix 1.5 did not have this file.
  57. Also, you should verify that vsprintf.c works correctly on your
  58. system.
  59.  
  60. The extensions add some features I think are missing.  The major
  61. changes and additions for bc are (a) names are allowed to be full
  62. identifiers ([a-z][a-z0-9_]*), (b) addition of the &&, ||, and !
  63. operators, (c) allowing comparison and boolean operations in any
  64. expression, (d) addition of an else clause to the if statement, (e)
  65. addition of a new standard function "read()" that reads a number from
  66. the standard input under program control, (f) passing of arrays as
  67. parameters by variable, (g) addition of the "halt" statement that is
  68. an executable statement unlike the quit (i.e.  "if (1 == 0) quit" will
  69. halt bc but "if (1 == 0) halt" will not halt bc.), and (h) the
  70. addition of the special variable "last" that is assigned the value of
  71. each print as the number is printed.
  72.