Passa al contenuto principale

Espressione congiuntiva

Sintassi​

conjunct = disjunct ("AND" conjunct / .empty);
disjunct = negation ("OR" negation / .empty);
negation = "NOT" relation / relation;
relation =
'( conjunct ') /
sum (
"<=" sum /
">=" sum /
'< sum /
'> sum /
'= sum /
'" sum /
.empty);

Il costrutto conjunct è congegnato in modo tale che un conjunct che non è una somma non debba avere un valore, e possa essere valutato usando salti nel codice. Si fa riferimento al conjunct solo nei punti in cui è richiesta una decisione logica (ad es. istruzioni if e while).

Speriamo che la maggior parte dei compilatori sia abbastanza intelligente da saltare le valutazioni non necessarie a tempo di esecuzione. Cioè, in un conjunct in cui la parte sinistra è falsa, o in un disjunct con la parte sinistra vera, la corrispondente parte destra non deve essere necessariamente valutata.