Il linguaggio della riga Condizione del testo
Ogni finestra per aggiungere o modificare un “Elemento di scrittura” possiede il campo “Condizione del testo”, in cui è possibile usare un linguaggio di programmazione ideato e sviluppato appositamente. Il linguaggio condizionale possiede operatori logici e istruzioni. Ogni istruzione è scritta sempre in forma contratta, quasi sempre di due lettere.
Il campo “Condizione” di ogni Elemento di scrittura ospita istruzioni che condizionano la scrittura del testo. Ogni Tasto in questo modo è un elemento attivo della scrittura, che può comportarsi in modo diverso a seconda delle condizioni in esso specificate. Tutte le istruzioni utilizzabili sono contenute in un menù contestuale associato al campo, quindi all'occorrenza richiamabili dal menù.
Le istruzioni chiave generalmente sono formate di due lettere. È indispensabile rispettare maiuscole e minuscole. Si consideri che queste istruzioni sono interpretate al volo da Biblos durante la digitazione. Per evitare di rallentare il processo di digitazione, è stato preferibile dar loro questa struttura contratta per ottimizzarne l'esecuzione.
La riga di istruzioni condizionali dà come risultato sempre un valore booleano true o false. Se l'espressione booleana ritorna true l'Elemento viene usato, ignorato se false.
Esistono tre operatori logici che danno come risultato una condizione vera o falsa. Gli operatori logici sono:
- "&" - Operatore AND, congiunzione logica.
A & B - True se A e B sono true, false altrimenti.
- "|" - Operatore OR, disgiunzione logica.
A | B - False se A e B sono false, true altrimenti.
- "!" - Operatore NOT, negazione logica.
! A - True se A è false, false se A è true.
LA CONGIUNZIONE LOGICA: And
L'operatore "&" (E Commerciale) esegue una congiunzione logica (And), dando come risultato true se entrambi gli operandi sono true, false altrimenti. Poiché è un operatore binario e ogni operando ha due valori, le combinazioni possibili sono quattro.
True & true = true
False & false = false
False & true = false
True & false = false
L'operatore sottinteso tra le istruzioni è sempre l'operatore AND. Ciò significa che se viene omesso l'operatore logico, è implicito che sarà sempre AND. Ciò significa che scrivere "A & B" è quasi simile a scrivere "A B".
LA DISGIUNZIONE LOGICA: Or
L'operatore "|" (Barra verticale) esegue una disgiunzione logica (OR), dando come risultato true se almeno uno degli operandi è true, false se entrambi gli operandi sono false. Poiché è un operatore binario e ogni operando ha due valori, le combinazioni possibili sono quattro.
True & true = true
False & false = false
False & true = true
True & false = true
LA NEGAZIONE LOGICA: Not
L'operatore "!" (esclamativo) è usato per eseguire la negazione logica (Not). La negazione logica di un valore booleano dà come risultato il valore opposto. Se una istruzione ritorna un valore true, allora "! Istruzione" ritorna valore false, e viceversa. Poiché la negazione logica è un operatore unario, ci sono solo due valori possibili per il suo unico operatore: true o false.
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.
POSIZIONE DEL CURSORE E ISTRUZIONI
Si consideri che Biblos analizza il testo a partire dalla posizione corrente del cursore di scrittura. Le istruzioni soddisfano le proprie condizioni (true o false) leggendo il testo sul cursore o ad esso circostante. In genere le istruzioni richiedono dei valori. L'istruzione fa sempre riferimento alla posizione del cursore per controllare se tale valore soddisfa il testo circostante. Ogni istruzione ritorna sempre un valore booleano unario (true o false). Tornerà true se testo e valore si soddisfano, altrimenti false.