Blocchi, corto circuito e indice di interpretazione
Una o più istruzioni possono essere racchiuse dentro parentesi tonde "(...)" che ne delimitano un blocco. Racchiudere le istruzioni in blocchi è utile per valutare il risultato finale delle istruzioni del blocco, e non i singoli risultati di ogni istruzione. Per esempio:
- A & B | C - L'espressione è true se A è true e B è true, oppure C è true. La valutazione dell'espressione si interrompe se A e B sono true, altrimenti continua analizzando C. Inoltre se A è false l'analisi si interrompe ugualmente con false.
- A & (B | C) - L'espressione è true se A è true e B o C sono true. La valutazione dell'espressione si interrompe se A è false, oppure continua entrando nel blocco di istruzioni, valutando B, interrompendosi se B è true, o proseguendo con la valutazione di C.
IL CORTO CIRCUITO: SHORT CIRCUIT
Se si usano esplicitamente gli operatori logici, le espressioni vengono interpretate seguendo la tecnica SHORT CIRCUIT (corto circuito). Ciò significa che se la parte già interpretata fornisce un valore utile a soddisfare l'intera espressione, la parte da interpretare verrà ignorata e il circuito terminerà. Per esempio:
- A | B - Se A è true, B non viene valutato, poiché comunque l'espressione darebbe un risultato true.
- A & B - In questo caso sia A che B, per soddisfare l'espressione, devono avere un valore true, quindi l'espressione viene valutata tutta se A è true. Altrimenti, se A è false, si interrompe, poiché anche valutando B l'espressione sarebbe comunque false.
CORTO CIRCUITO E AND IMPLICITO
Nelle espressioni in cui non si specifica esplicitamente l'operatore & (AND), il corto circuito non viene applicato. Per esempio:
- A B - L'espressione viene valutata sia in A che in B, anche se A è false. Al termine se A e B sono true l'espressione sarà true.
- A & B - In questo caso abbiamo esplicitamente usato l'operatore AND. Se A è false B non viene valutato, poiché si attiva il corto circuito che considera l'espressione comunque false.
CORTO CIRCUITO E ISTRUZIONI DI FLAG
Il linguaggio di Biblos possiede istruzioni particolari (flag e indice) che, se eseguite, compiono azioni specifiche. Queste istruzioni vengono eseguite solo se vengono raggiunte dall'interprete delle espressioni. Siccome sono istruzioni contenute nella stessa linea di codice da interpretare, il sistema del corto circuito potrebbe impedire la loro esecuzione.
Se si usano istruzioni di flag o di spostamento dell'indice, è utile usare le parentesi per racchiudere le istruzioni da analizzare con corto circuito, e mettere al di fuori delle parentesi le istruzioni di flag o di indice.
INDICE DI ANALISI E ISTRUZIONI
Si consideri che Biblos analizza il testo mediante una variabile di indice. Le istruzioni soddisfano le proprie condizioni (true o false) leggendo il testo mediante questa variabile speciale. In molte istruzioni bisogna specificare dei valori. L'istruzione si avvarrà della variabile di indice per controllare se tale valore soddisfa il testo in cui è posizionato l'indice. Ogni istruzione ritorna sempre un valore booleano unario (true o false). Tornerà true se testo e valore si soddisfano, altrimenti false.