> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Convenciones léxicas

> Convenciones léxicas de FlexiLayout language: sintaxis del identificador, signos de puntuación, precedencia y asociatividad de los operadores, asignación, constantes y comentarios.

FlexiLayout language sigue estas convenciones léxicas para identificadores, signos de puntuación, operadores, asignación, constantes y comentarios.

<div id="identifiers">
  ## Identificadores
</div>

Un **identificador** es una secuencia de caracteres que se usa para denotar uno de los siguientes elementos:

* Nombre de bloque
* Nombre del elemento
* Nombre de constante
* Nombre de variable
* Palabra clave

Los identificadores no distinguen entre mayúsculas y minúsculas.

Sintaxis del identificador:

```text theme={null}
identifier:
   nondigit
   identifier nondigit
   identifier digit

nondigit: one of
   _ a b c d e f g h i j k l m n o p q r s t u v w x y z
   A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

digit: one of
   0 1 2 3 4 5 6 7 8 9
```

<div id="punctuation-characters">
  ## Caracteres de puntuación
</div>

Se pueden usar los siguientes caracteres de puntuación:

`. , ( ) * / + - = < > { } : ; ! & |`

Los caracteres de puntuación `( )` y `{ }` deben ir en pares.

<div id="operator-precedence-and-associativity">
  ## Precedencia y asociatividad de operadores
</div>

El nivel más alto de precedencia está en la parte superior de la tabla.

| Operador | Significado                      | Asociatividad          |
| -------- | -------------------------------- | ---------------------- |
| `( )`    | Llamada a función                |                        |
| `:`      | Llamada a función                |                        |
| `.`      | Acceso a miembro                 | De izquierda a derecha |
| `+`, `-` | Positivo unario, negativo unario |                        |
| `*`, `/` | Multiplicación, división         | De izquierda a derecha |
| `+`, `-` | Suma, resta                      | De izquierda a derecha |
| `NOT`    | Negación lógica (unaria)         |                        |
| `<`      | Menor que                        | De izquierda a derecha |
| `>`      | Mayor que                        | De izquierda a derecha |
| `<=`     | Menor o igual que                | De izquierda a derecha |
| `>=`     | Mayor o igual que                | De izquierda a derecha |
| `==`     | Igualdad                         | De izquierda a derecha |
| `!=`     | Desigualdad                      | De izquierda a derecha |
| `AND`    | Conjunción lógica                | De izquierda a derecha |
| `OR`     | Disyunción lógica                | De izquierda a derecha |

<Note>
  Las operaciones de comparación (`<`, `>`, `<=`, `>=`, `==`, `!=`) tienen la misma precedencia.
</Note>

<div id="assignment-operator">
  ## Operador de asignación
</div>

El operador `=` asigna un valor a una variable.

Por ejemplo:

```text theme={null}
Distance a;
a = Page( 1 ).RectGlobal.Width;
```

El tipo de dato de la expresión debe ser compatible con el tipo de dato de la variable.

<div id="constants">
  ## Constantes
</div>

FlexiLayout language utiliza únicamente constantes globales. Las constantes globales se configuran en el cuadro de diálogo de **propiedades de FlexiLayout** y se puede acceder a ellas desde cualquier sección de cualquier descripción de bloque o elemento.

Para obtener más información, consulte [Constantes globales](/es/flexi-capture/fls/code/global-constant).

<div id="comments">
  ## Comentarios
</div>

Puede añadir comentarios al código. Los comentarios tienen el mismo formato que en el lenguaje C y pueden escribirse de una de las siguientes formas:

* Los caracteres `/*` (barra, asterisco), seguidos de cualquier secuencia de caracteres (incluidos los saltos de línea), seguidos de los caracteres `*/`.
* Los caracteres `//` (dos barras), seguidos de cualquier secuencia de caracteres. Un salto de línea no precedido inmediatamente por una barra invertida pone fin a esta forma de comentario.
