BC, acronimo di Basic Calculator, è un linguaggio di programmazione usato per calcoli a precisione arbitraria. Il linguaggio presenta con una sintassi simile al linguaggio C.
Esistono attualmente due dialetti base: il POSIX bc rigorosamente definito, e il suo discendente diretto, il GNU bc molto esteso (inoltre, GNU bc è disponibile per un numero elevato di piattaforme, come ad esempio Microsoft Windows). Una più recente variante, Plan 9 bc, è un sovrainsieme del primo e un sottoinsieme del secondo.
Tutte le varianti supportano sia l'esecuzione interattiva, ossia da riga di comando, sia l'esecuzione dall'interno di script.
POSIX bc
Il linguaggio standard POSIX bc è tradizionalmente scritto sotto forma di un programma in DC per fornire accesso alle funzioni del linguaggio DC senza usarne la sintassi scarna.
In questa forma, bc consiste di nomi di variabili, array e funzioni composti di singole lettere, la maggior parte degli operatori aritmetici e costrutti di controllo di flusso standard. A differenza del C, tuttavia, l'if
non prevede l'else
.
Le funzioni sono definite per mezzo della parola chiave define
e i valori di ritorno sono restituiti usando la parola chiave return
con l'espressione d'uscita tra parentesi tonde. La parola chiave auto
permette di dichiarare variabili locali alle funzioni.
Tutti i numeri e le variabili sono numeri in virgola mobile a precisione fissa, determinata dalla variabile globale scale
(espressa in posizioni decimali).
Collegamenti esterni
- (EN) GNU bc manuale, su gnu.org.
- (EN) Plan 9 bc manuale, su plan9.bell-labs.com. URL consultato il 7 dicembre 2008 (archiviato dall'url originale il 5 febbraio 2015).
- (EN) settima Edizione Unix bc manuale, su plan9.bell-labs.com. URL consultato il 7 dicembre 2008 (archiviato dall'url originale l'8 ottobre 2006).
- (EN) A comp.compilers article on the design and implementation of C-BC, su compilers.iecc.com.
- (EN) Dittmer, I. 1993. SIGNUM Newsl. 28, 2 (Apr. 1993), 8–11., su doi.acm.org.
- (EN) Online versione di GNU bc, su sciencesoft.at. URL consultato il 7 dicembre 2008 (archiviato dall'url originale il 20 febbraio 2008).
- (EN) Collection of useful GNU bc functions, su cyreksoft.yorks.com. URL consultato il 7 dicembre 2008 (archiviato dall'url originale l'11 maggio 2008).
- (EN) Collection of useful GNU bc integer functions, su pixelbeat.org.
- (EN) GNU bc (and an alpha version) from the Free Software Foundation
- (EN) Bc for Windows from GnuWin32
- (EN) X-Bc- A Graphical User Interface to Bc
- (EN) extensions.bc, su x-bc.sourceforge.net. URL consultato il 7 dicembre 2008 (archiviato dall'url originale il 4 marzo 2016).
- (EN) scientific_constants.bc, su x-bc.sourceforge.net. URL consultato il 7 dicembre 2008 (archiviato dall'url originale il 4 marzo 2016).