El lenguaje de la línea Condición del texto
Cada ventana para añadir o modificar un "Elemento de escritura" posee el campo "Condición del texto", en el que es posible usar un lenguaje de programación ideado y desarrollado especialmente. El lenguaje condicional posee operadores lógicos e instrucciones. Cada instrucción se escribe siempre en forma contraída, casi siempre de dos letras.
El campo "Condición" de cada Elemento de escritura alberga instrucciones que condicionan la escritura del texto. Cada Tecla de este modo es un elemento activo de la escritura, que puede comportarse de manera diferente según las condiciones especificadas en ella. Todas las instrucciones utilizables están contenidas en un menú contextual asociado al campo, por lo que, en caso necesario, se pueden llamar desde el menú.
Las instrucciones clave generalmente están formadas por dos letras. Es indispensable respetar mayúsculas y minúsculas. Téngase en cuenta que estas instrucciones son interpretadas sobre la marcha por Biblos durante la escritura. Para evitar ralentizar el proceso de escritura, se ha preferido darles esta estructura contraída para optimizar su ejecución.
La línea de instrucciones condicionales da como resultado siempre un valor booleano true o false. Si la expresión booleana retorna true, el Elemento se usa, se ignora si es false.
Existen tres operadores lógicos que dan como resultado una condición verdadera o falsa. Los operadores lógicos son:
- "&" - Operador AND, conjunción lógica.
A & B - True si A y B son true, false en caso contrario.
- "|" - Operador OR, disyunción lógica.
A | B - False si A y B son false, true en caso contrario.
- "!" - Operador NOT, negación lógica.
! A - True si A es false, false si A es true.
LA CONJUNCIÓN LÓGICA: And
El operador "&" (E Comercial) ejecuta una conjunción lógica (And), dando como resultado true si ambos operandos son true, false en caso contrario. Dado que es un operador binario y cada operando tiene dos valores, las combinaciones posibles son cuatro.
True & true = true
False & false = false
False & true = false
True & false = false
El operador implícito entre las instrucciones es siempre el operador AND. Esto significa que si se omite el operador lógico, se da por sentado que será siempre AND. Esto significa que escribir "A & B" es casi similar a escribir "A B".
LA DISYUNCIÓN LÓGICA: Or
El operador "|" (Barra vertical) ejecuta una disyunción lógica (OR), dando como resultado true si al menos uno de los operandos es true, false si ambos operandos son false. Dado que es un operador binario y cada operando tiene dos valores, las combinaciones posibles son cuatro.
True & true = true
False & false = false
False & true = true
True & false = true
LA NEGACIÓN LÓGICA: Not
El operador "!" (exclamativo) se utiliza para ejecutar la negación lógica (Not). La negación lógica de un valor booleano da como resultado el valor opuesto. Si una instrucción retorna un valor true, entonces "! Instrucción" retorna el valor false, y viceversa. Dado que la negación lógica es un operador unario, solo hay dos valores posibles para su único operando: true o false.
Una o más instrucciones pueden ser raci- nadas dentro de paréntesis redondos "(...)" que delimitan un bloque. Agrupar las instrucciones en bloques es útil para evaluar el resultado final de las instrucciones del bloque, y no los resultados individuales de cada instrucción. Por ejemplo:
- A & B | C - La expresión es true si A es true y B es true, o si C es true. La evaluación de la expresión se interrumpe si A y B son true, de lo contrario continúa analizando C. Además, si A es false, el análisis se interrumpe igualmente con false.
- A & (B | C) - La expresión es true si A es true y B o C son true. La evaluación de la expresión se interrumpe si A es false, o continúa entrando en el bloque de instrucciones, evaluando B, interrumpiéndose si B es true, o continuando con la evaluación de C.
EL CORTOCIRCUITO: SHORT CIRCUIT
Si se utilizan explícitamente los operadores lógicos, las expresiones se interpretan siguiendo la técnica SHORT CIRCUIT (cortocircuito). Esto significa que si la parte ya interpretada proporciona un valor útil para satisfacer la expresión completa, la parte a interpretar se ignorará y el circuito terminará. Por ejemplo:
- A | B - Si A es true, B no se evalúa, ya que de todos modos la expresión daría un resultado true.
- A & B - En este caso, tanto A como B, para satisfacer la expresión, deben tener un valor true, por lo que la expresión se evalúa en su totalidad si A es true. De lo contrario, si A es false, se interrumpe, ya que incluso evaluando B la expresión sería de todos modos false.
CORTOCIRCUITO Y AND IMPLÍCITO
En las expresiones en las que no se especifica explícitamente el operador & (AND), el cortocircuito no se aplica. Por ejemplo:
- A B - La expresión se evalúa tanto en A como en B, incluso si A es false. Al finalizar, si A y B son true, la expresión será true.
- A & B - En este caso hemos utilizado explícitamente el operador AND. Si A es false, B no se evalúa, ya que se activa el cortocircuito que considera la expresión de todos modos false.
POSICIÓN DEL CURSOR E INSTRUCCIONES
Téngase en cuenta que Biblos analiza el texto a partir de la posición actual del cursor de escritura. Las instrucciones satisfacen sus propias condiciones (true o false) leyendo el texto en el cursor o circundante. En general, las instrucciones requieren valores. La instrucción siempre hace referencia a la posición del cursor para comprobar si dicho valor satisface el texto circundante. Cada instrucción retorna siempre un valor booleano unario (true o false). Retornará true si el texto y el valor se satisfacen, de lo contrario false.