Home
Accesso / Registrazione
 di 

Programmazione orientata agli oggetti in ANSI-C. Un'altra sottoclasse - Le costanti

Programmazione orientata agli oggetti in ANSI-C. Un'altra sottoclasse - Le costanti

A chi piace digitare il valore di pi greco o di altre costanti matematiche? Ispirandoci alla soluzione proposta da Kernighan e Pike [K&P94] predefiniamo alcune costanti per il nostro calcolatore. La seguente funzione deve essere chiamata durante l'inizializzazione del riconoscitore.

void initConst (void)
{ static const struct Var constants [] = { /* like hoc */
{ &_Var, "PI", CONST, 3.14159265358979323846 },
...
0 };
const struct Var * vp;
for (vp = constants; vp —> _.name; ++ vp)
install(vp);
}

Le variabili e le costanti sono più o meno le stesse: entrambe hanno nomi e valori e sono inserite nella tabella dei simboli, entrambe restituiscono il loro valore per essere usate in espressioni aritmetiche ed entrambe non dovrebbero essere cancellate.

Da notare però che non si effettuano assegnazioni a costanti, per natura propria delle costanti, così facciamo in modo di avere un nuovo valore per il token che definiremo CONST. Il riconoscitore lo accetterà in factor() proprio come fa con VAR ma non sarà permesso averlo come operatore sinistro in stmt().

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Ultimi Commenti