ELEMENTOS SINTÁCTICOS DE
UN LENGUAJE DE PROGRAMACIÓN
Conjunto de Caracteres
Conjunto de Caracteres
Es la primera etapa en el diseño de la sintaxis de un lenguaje
Casi todos tienen el mismo conjunto de letras y dígitos
La diferencia está en los caracteres especiales
Incide en la determinación del tipo de equipo para la E/S
Identificadores
Sintaxis básica: string de letra y/o dígito comenzando con letra
Se introducen caracteres especiales que facilitan la lectura
Operadores
La mayoría de los lenguajes tiene un conjunto estándar de operadores:
aritméticos
relacionales
lógicos
Palabras Claves y Reservadas
Palabra clave: identificador usado como parte fija de la sintaxis de una sentencia
Palabra reservada: palabra clave que no puede ser usada como identificador
El análisis sintáctico se facilita usando palabras reservadas
Generalmente una sentencia comienza con palabras claves designando el tipo de sentencia.
Comentarios y Palabras Opcionales
La mayoría de los lenguajes permite incluir comentarios en los programas
Los comentarios no son considerados durante la compilación.
Espacios en Blanco
Varía su inclusión entre un lenguaje y otro
Delimitadores
Es un elemento sintáctico para marcar el comienzo y/o el fin de una unidad sintáctica
Ejemplo BEGIN
....
END
Las características son:
realza la lectura
simplifica el análisis sintáctico
elimina ambigüedades
delimita explícitamente frontera o cota de una construcción sintáctica.
Formato Libre y Fijo
Una sintaxis es libre si las sentencias del programa se pueden escribir en cualquier parte de una línea sin observar la posición o salto de línea. Ejemplo Pascal
Una sintaxis es fija si utiliza la posición en la línea para proporcionar información. Ejemplo estrictamente fija, máquina; parcialmente fija, Fortran
Expresiones
Son unidades sintácticas básicas con las cuales se construyen sentencias.
Hay distintas formas para escribir una expresión: infija, prefija, postfija (inorden, preorden, postorden).
Sentencias
Son las componentes sintácticas más importantes de los lenguajes de programación. Algunos tienen formato básico de sentencia. Existen diferentes sintaxis para cada tipo diferente de sentencia.
En general existen sentencias simples
y estructuradas.
Estructura de Programa y Subprograma
La organización sintáctica de un programa y la definición de subprograma es variada.
Definición variada de subprograma
- cada definición de subprograma es tratada como una unidad sintáctica separada
- Las principales estructuras de los programas son: bloques, subprogramas
- El bloque se ejecuta cuando la secuencia de ejecución llega. El procedimiento es llamado explícitamente.
En Fortran cada subprograma es compilado separadamente y los programas son "linkeados" en tiempo de carga.
En APL los subprogramas son compilados separadamente y son "linkeados" sólo cuando uno llama a otro durante la ejecución.
Definición de subprogramas anidados
Un ejemplo se da en ALGOL que muestra
la estructura de programas anidados en que la definición del subprograma
aparece como declaración en el programa principal. A su vez, el mismo
subprograma puede contener otra definición anidada.
Descripción separada de datos y sentencias ejecutables
Un representante es el COBOL. Las declaraciones de datos y sentencias ejecutables para los subprogramas (párrafos), se encuentran en la DATA DIVISION y en la PROCEDURE DIVISION, respectivamente. La ENVIRONMENT DIVISION consiste de las declaraciones de operación y ambiente externo, equipo, archivos, memoria, etc... Todos los datos son globales a los subprogramas. Una ventaja es que cambios en la estructura de datos se hacen sin tocar los subprogramas.
Descripción separada de datos y sentencias ejecutables
Un representante es el COBOL. Las declaraciones de datos y sentencias ejecutables para los subprogramas (párrafos), se encuentran en la DATA DIVISION y en la PROCEDURE DIVISION, respectivamente. La ENVIRONMENT DIVISION consiste de las declaraciones de operación y ambiente externo, equipo, archivos, memoria, etc... Todos los datos son globales a los subprogramas. Una ventaja es que cambios en la estructura de datos se hacen sin tocar los subprogramas.
Definición de subprogramas no
separados
No hay diferencia sintáctica entre las sentencias del programa y las del subprograma. Un ejemplo SNOBOL: independiente del número de subprogramas que contenga el programa, es una lista de sentencias. El punto donde un subprograma comienza y termina no se distingue. Los programadores introducen una separación artificial insertando comentarios. Otro ejemplo BASIC.
No hay comentarios:
Publicar un comentario