On Wed, 15 Dec 2004 10:41:06 +0100, Roberto A. Foglietta <roberto.foglietta@xxxxxx> wrote: > Ciao, > > se lancio un programma con scritto: > > ./a.out "(a+b+c)" > > posso far eseguire il codice > > x=(a+b+c); > > dove ovviamente mi sono occupato di definire e inizializzare le > variabili a,b e c senza usare un parser? hai 2 strade: 1. far fare a+b+c ad un'interprete e passare il risultato ad a.out del tipo: bash$ a=1; b=3; c=2; printf '%d\n' $[a+b+c] 6 tieni presente anche che forse altre shell che puoi utilizzare hanno "feature" del genere piu potenti.. quella di bash fa schifino. 2. farlo all'interno del tuo programma una popen a bc e' una buona soluzione "sbrigativa", sempre che bc riesca effettivamente a sommare le tre variabili (non'hai detto che sono numeri) un piccolo parser di espressioni del tipo (((a+b)+c)*d)/e) none' complesso nemmeno da implementare dal nulla... ma se il fine e' ottenere il risultato nel minor tempo possibile, un parser e' una perdita di tempo (se puoi farlo fare a bc) :) .x -- Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx