Disponible la nueva versión "donationware" 7.3 de OrganiZATOR
Descubre un nuevo concepto en el manejo de la información.
La mejor ayuda para sobrevivir en la moderna jungla de datos la tienes aquí.

Curso C++

[Home]  [Inicio]  [Índice]


3.2   Tokens

§1  Sinopsis

El tratar de la estructura lógica de un programa ( 1.3.1) se señaló que 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 ( 1.4).

Comprenden los siguientes tipos de elementos (podríamos considerar que el lenguaje computacional C++ tiene las siguientes clases de "palabras"):

  • Palabras clave ("keywords"). C++ dispone de un conjunto relativamente extenso de palabras clave, señaladas en ( 3.2.1).

  • Identificadores. Su número puede ser virtualmente infinito; dentro de ciertas normas el programador es libre de elegir los que mejor se ajusten a sus necesidades.( 3.2.2).

  • Constantes. Existen varias clases, cuyos detalles se exponen en las páginas siguientes ( 3.2.3)

  • operadores  ( 4.9)

  • signos de puntuación, también llamados puntuadores  ( 3.2.6).


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.

El conjunto de símbolos; grupos de símbolos, y palabras utilizados en C++ como operadores y/o puntuadores, es el siguiente (los operadores se han señalado en azul):

{ } [ ] # ## ( ) \
<: :> <% %> %: %:%: ; : ...
" ' ? :: . .*      
+ - * / % ^ & | ~
! = < > += -= *= /= %=
^= &= |= << >> >>= <<= == !=
<= >= && || ++ -- , ->* ->
and and_eq bitand bitor compl not not_eq or or_eq
xor xor_eq ( ) [ ] new delete new[ ] delete[ ]


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