Menu des manuels

 

Blocs, court-circuit et index d'interprétation

 
Une ou plusieurs instructions peuvent être placées entre parenthèses "(...)" qui en délimitent un bloc. Mettre les instructions dans des blocs est utile pour évaluer le résultat final des instructions du bloc, et non les résultats individuels de chaque instruction. Par exemple : - A & B | C - L'expression est true si A est true et B est true, ou si C est true. L'évaluation de l'expression s'interrompt si A et B sont true, sinon elle continue en analysant C. De plus, si A est false, l'analyse s'interrompt également avec false. - A & (B | C) - L'expression est true si A est true et B ou C sont true. L'évaluation de l'expression s'interrompt si A est false, ou continue en entrant dans le bloc d'instructions, en évaluant B, s'interrompant si B est true, ou en poursuivant avec l'évaluation de C. LE COURT-CIRCUIT : SHORT CIRCUIT Si l'on utilise explicitement les opérateurs logiques, les expressions sont interprétées selon la technique SHORT CIRCUIT (court-circuit). Cela signifie que si la partie déjà interprétée fournit une valeur utile pour satisfaire l'expression entière, la partie restant à interpréter sera ignorée et le circuit se terminera. Par exemple : - A | B - Si A est true, B n'est pas évalué, car de toute façon l'expression donnerait un résultat true. - A & B - Dans ce cas, tant A que B doivent avoir une valeur true pour satisfaire l'expression, donc l'expression est entièrement évaluée si A est true. Sinon, si A est false, elle s'interrompt, car même en évaluant B, l'expression serait de toute façon false. COURT-CIRCUIT ET AND IMPLICITE Dans les expressions où l'opérateur & (AND) n'est pas explicitement spécifié, le court-circuit n'est pas appliqué. Par exemple : - A B - L'expression est évaluée aussi bien pour A que pour B, même si A est false. À la fin, si A et B sont true, l'expression sera true. - A & B - Dans ce cas, nous avons explicitement utilisé l'opérateur AND. Si A est false, B n'est pas évalué, car le court-circuit s'active et considère l'expression comme étant de toute façon false. COURT-CIRCUIT ET INSTRUCTIONS DE FLAG Le langage de Biblos possède des instructions particulières (flag et index) qui, si elles sont exécutées, effectuent des actions spécifiques. Ces instructions ne sont exécutées que si elles sont atteintes par l'interpréteur d'expressions. Comme il s'agit d'instructions contenues dans la même ligne de code à interpréter, le système de court-circuit pourrait empêcher leur exécution. Si l'on utilise des instructions de flag ou de déplacement de l'index, il est utile d'utiliser des parenthèses pour enfermer les instructions à analyser avec court-circuit, et de mettre en dehors des parenthèses les instructions de flag ou d'index. INDEX D'ANALYSE ET INSTRUCTIONS Veuillez noter que Biblos analyse le texte à l'aide d'une variable d'index. Les instructions satisfont leurs propres conditions (true ou false) en lisant le texte au moyen de cette variable spéciale. Dans de nombreuses instructions, il est nécessaire de spécifier des valeurs. L'instruction utilisera la variable d'index pour vérifier si cette valeur correspond au texte où l'index est positionné. Chaque instruction renvoie toujours une valeur booléenne unaire (true ou false). Elle renverra true si le texte et la valeur correspondent, sinon false.