Tokens

Tokens
Información sobre la plantilla
Concepto:Es una cadena de caracteres que tiene un significado coherente en cierto lenguaje de programación
Tokens. También llamado componente léxico es una cadena de caracteres que tiene un significado coherente en cierto lenguaje de programación. Ejemplos de tokens, podrían ser palabras clave (if, while, int,...), identificadores, números, signos, o un operador de varios caracteres, (por ejemplo, :=).
Son los elementos más básicos sobre los cuales se desarrolla toda traducción de un programa, surgen en la primera fase, llamada análisis léxico, sin embargo se siguen utilizando en las siguientes fases (análisis sintáctico y análisis semántico) antes de perderse en la fase de síntesis.

Tokens

Son los elementos en que el preprocesado desmenuza el código fuente. En un lenguaje de programación, los tokens son el equivalente a las palabras y signos de puntuación en el lenguaje natural escrito. Los tokens están separados por elementos de separación que reciben el nombre genérico de separadores

Tipos de elementos

Comprenden los siguientes tipos de elementos:

Palabras clave ("Keywords")

Son identificadores utilizados por el lenguaje para fines especiales, y no pueden ser utilizadas como identificadores (por esta razón se suelen denominar también palabras reservadas). Por ejemplo, no pueden ser utilizadas como nombres de variables, clases o funciones.

Identificadores

Es un conjunto de caracteres alfanuméricos de cualquier longitud que sirve para identificar las entidades del programa (clases, funciones, variables, tipos compuestos, Etc.) Los identificadores pueden ser combinaciones de letras y números. Cada lenguaje tiene sus propias reglas que definen como pueden estar construidos. En el caso de C++, son las que se indican a continuación. Cuando un identificador se asocia a una entidad concreta, entonces es el "nombre" de dicha entidad, y en adelante la representa en el programa. Por supuesto puede ocurrir que varios identificadores se refieran a una misma entidad.

Constantes

La palabra constante tiene dos connotaciones sutilmente diferentes aunque relacionadas, que conviene distinguir:
1- La primera es el sentido normal de la palabra constante en lenguaje natural; es decir, datos (de cualquiera de los tipos posible) cuyos valores se han definido en el momento de escribir el código del programa, y no pueden ser modificados más tarde en tiempo de ejecución (lo que significa que sus valores deben ser resueltos en tiempo de compilación). Dicho en otras palabras: el compilador sabe cual es el valor de los objetos declarados como constantes y en base a este conocimiento puede hacer cuantas suposiciones sean válidas para conseguir la mayor eficiencia en tiempo de ejecución.
En este sentido, el concepto constante es justamente el opuesto a variable, que corresponde a aquellos objetos-dato que pueden recibir nuevas asignaciones de valor a lo largo del programa. Dicho en otras palabras: entidades cuyo valor solo es conocido en tiempo de ejecución.
2. La segunda connotación es la de tipo de objeto-dato. En este sentido podemos afirmar que en C++ los enteros (variables) forman un tipo distinto de los enteros constantes (constantes enteras), y que los caracteres (variables) forman un tipo distinto de las constantes carácter. Así pues, distinguimos entre un tipo char y un tipo const char. Como prácticamente todos los tipos de objeto-dato posibles en C++ puede declararse constantes, existe un universo de tipos C++, simétrico al de los tipos de objetos variables, pero de objetos constantes.
Como corolario de lo anterior, tenga en mente que, por ejemplo, un entero y una constante entera son tipos distintos y que una constante entera C++ significa algo más que un entero al que no se le puede cambiar su valor.

Operadores

Son un tipo de tokens que pueden aparecer en las expresiones, e indican al compilador la realización de determinadas operaciones matemáticas, lógicas y numéricas. Se aplican a variables u otros objetos denominados operandos y su efecto es una combinación de las siguientes acciones:
1. Producir un resultado-valor
2. Alterar un operando
3. Designar un objeto o función.

Signos de puntuación

Juegan el mismo papel que sus homónimos en el lenguaje natural escrito. Conocidos también como puntuadores, son los que se citan a continuación. La mayoría de ellos tienen un doble uso y en ocasiones funcionan también como operadores
[ ] ( ) { } , ; : ... * = # ! % ^ & – + | ~ \ ' " < > ? . /

En ocasiones, los operadores y signos de puntuación comparten la misma representación escrita. En estos casos, el sentido debe deducirse del contexto y por la forma en que están agrupados los diversos signos.
Una vez entregado el fuente al compilador, es precisamente el analizador sintáctico ("parser") el encargado de es identificar los tokens. Por ejemplo, la sentencia
              int i; float f;
es descompuesta por el "parser" en los siguientes tokens:
              int palabra clave
                i identificador
                ; puntuador
           float palabra clave
                f identificador
                ; puntuador

Véase también

Fuente