Tokens en el lenguaje C - norman-ipn/Ofuscador GitHub Wiki

Tokens

Existen seis clases de componentes sintácticos o tokens en el vocabulario del lenguaje C: palabras clave, identificadores, constantes, cadenas de caracteres, operadores y separadores.


Palabras clave o reservadas

En C existen una serie de palabras clave (keywords) que el programador no puede utilizar como identificadores (nombres de variables y/o de funciones). Estas palabras sirven para indicar al computador que realice una tarea y tienen un especial significado para el compilador. En C, existen en total 32 palabras:

auto, double, int, struct, break, else, long, switch, case, enum, register, typedef, char, extern, return, union, const, float, short, unsigned, continue, for, signed, void, default, goto, sizeof, volatile, do, if, static, while.


Identificadores

Un identificador es un nombre con el que se hace referencia a una función o a alguna variable. En ANSI C las reglas son las siguientes:

  1. Un identificador se forma con una secuencia de letras (minúsculas de la a a la z; mayúsculas de la A a la Z; y dígitos del 0 al 9).
  2. El carácter subrayado o underscore (_) se considera como una letra más.
  3. Un identificador no puede contener espacios en blanco, ni otros caracteres distintos de los citados, como por ejemplo (*,;.:-+, etc.).
  4. El primer carácter de un identificador debe ser siempre una letra o un (_). No puede ser un dígito.
  5. Se hace distinción entre letras mayúsculas y minúsculas
  6. ANSI C permite definir identificadores de hasta 31 caracteres de longitud.

Constantes (falta edición)

Además de variables, un programa utiliza también constantes, es decir, valores que siempre son los mismos ya que una vez compilado el programa no pueden ser cambiadas.

Las hay de varios tipos.

CONSTANTES: Existen varias clases de constantes. Cada una tiene un tipo de dato. constante: constante-entera constante-de-cardcter constante-flotante constante-enumeración *Constante_entera: Una constante entera que consiste en una secuencia de digitos se toma como octal si inicia con 0 (cero), de otra manera es decimal. Las constantes octales no contienen los dfgitos 8 6 9.

Una constante entera puede tener la letra u o U como sufijo, lo cual especifica que es unsigned. Tambien puede tener como sufijo la letra l o L para estipular que es long.

*Constante de caracter: Una constante dc carcter es una secuencia de uno o ms caracteres encerrados entre apostrofos, como 'x'. El valor de una constante de carcter con un solo caracter es ei valor numérico del carcter en el conjunto de caracteres de la maquina al tiempo de ejecuciän. Ei valor de una constante muiticaracter esta definido por la implantacion. Las constantes de caracter no contienen el caracter ' o nueva iinea; para representarlos, asf como a algunos otros caractercs, se pueden utilizar las siguientes secuencias dc escape.

nueva linea	NL (LF)	\n	diagonal inversa	\	\\
tab horizontal	HT	\t	interrogacion	        ?	\?
tab vertical	VT	\v	apostrofo	        '	\'
retroceso	BS	\b	comillas	        "	\"
regreso dc carro CR	\r	número octal	        000	\000
avance dc forma	FF	\f	número hexadecimal	hh	\xhh
    señal audible	BEL	\a

*Constantes flotantes: Una constante flotante consta de una parte entera, un punto decimal, una parte fraccionaria, una e o E, un exponente entero signado optativo y un tipo sufijo optativo entre f 0 F, 1 o L. Las partes entera y fraccionaria constan de una secuencia de digitos. Cualquiera de las partes entera o fraccionaria (no ambas) puede omitirse; cualquiera dc las partes del punto decimal o la e y ei exponente (no ambas) pueden omitirse. Ei tipo esta determinado por el sufijo; F o f la hacen float, L o l la hacen long double; de otra manera double.


Operadores

Los operadores en C son cadenas (de uno o dos caracteres) que indican al programa lo que debe hacer, el lenguaje es especialmente rico en estos signos:

Aritméticos

+, -, *, / y %

Asignación

=, +=, -=, *= y /=

Incrementales

++ y --

Relacionales

<, >, >=, <=, == y !=

Lógicos

&& y ||


Comentarios

El lenguaje C permite que el programador introduzca comentarios en los ficheros fuente que contienen el código de su programa. El compilador ignora por completo los comentarios.

Los caracteres (/) se emplean para iniciar un comentario introducido entre el código del programa; el comentario termina con los caracteres (/). No se puede introducir un comentario dentro de otro. Todo texto introducido entre los símbolos de comienzo (/) y final (/) de comentario son siempre ignorados por el compilador.

El lenguaje ANSI C permite también otro tipo de comentarios, tomado del C++. Todo lo que va en cualquier línea del código detrás de la doble barra (//) y hasta el final de la línea, se considera como un comentario y es ignorado por el compilador.


ESPECIFICADORES DE TIPO: Los especificadores de tipo son:

void , char , short , int , long , float , double , signed , unsigned , 'especificador-estructura' , 'nombre typedef'

BIBLIOTECAS ESTANDAR: Las funciones, tipos y macros de la biblioteca estándar están declarados en headers estándar:

<assert.h> <float.h> <math.h> <stdarg.h> <stdlib.h> <ctype.h> <limits.h> <setjmp.h> <stddef.h> <string.h> <errno.h> <locale.h> <signal.h> <stdio.h> <time.h>

Referencias


http://mat21.etsii.upm.es/ayudainf/aprendainf/AnsiC/leng_c.pdf

http://www.mhe.es/universidad/informatica/8448145127/archivos/apendice_general_2.pdf

⚠️ **GitHub.com Fallback** ⚠️