# Copyright (C) 2005-2006, The Perl Foundation.
# $Id: /mirror/trunk/languages/bc/README 13645 2006-07-30T10:51:38.445124Z bernhard  $

This is an implementation of 'POSIX bc' for Parrot.
'bc' is an arbitrary precision calculator dating back from Unix stone age.
See L<http://en.wikipedia.org/wiki/Bc_%28Unix%29> for details.

Actually these are two different implementations of bc.
The older implementation requires ANTLR 2.7.6 and Python.
Current development uses ANTLR 3.0 and Java.

Per default the ANTLR 2 implementation is built and tested.
The Python runtime files for lexer and parsers are in the Parrot repository, thus only
Python is required for running.

Building lexer, parser and treeparser:

'make maintain'

Building:

'make'

Testing:

'make test'. When GNU bc is available, the test suite will be run against GNU bc as well.
For compatability with 'POSIX bc' the flags '--standard' and '--quiet' are used.

ANTLR 3 is under development. The easiest backend seems to be Java. So for now there is a 'build_java' and
'test_java' targets. Be sure to set the CLASSPATH as shown in docs/antlr_3.pod.

For details see docs/parrot_bc.pod.
Rumblings on ANTLR 3 are in docs/antlr_3.pod.

