Skip to content

Análisis Sintáctico

Objetivo

El objetivo de un analizador sintáctico es identificar las estructuras del lenguaje (definiciones, sentencias, expresiones, etc.) que haya en el fichero de entrada y comprobar que todas ellas están correctamente formadas.

Por ejemplo, supóngase la siguiente entrada:

c
DATA
    int width;

CODE
    width = 25 * (2 + 1);
    print width / 2;

Al pasar esta entrada por el analizador sintáctico, no se deberá obtener ningún mensaje de error, lo cual indica que el programa pertenece al lenguaje.

bash
Compiler started.

Compiler finished.

Sin embargo, si alguna estructura no está bien construida (por ejemplo, faltan o sobran elementos) entonces el sintáctico deberá notificar un error.

Supóngase la siguiente entrada errónea:

c
DATA
	precio;	    // <--- missing type
	int ancho;

CODE
    ...

Si se pasara dicha entrada por en analizador sintáctico, este debería detectar el error.

bash
Compiler started.

line 2:5 mismatched input 'price' expecting {'CODE', 'float', 'int'}
Compilaton finished due to syntax errors.

1 errors detected.

Compiler finished.