Actividad 1-Reporte de Lectura 4.2
Actividad 1-Reporte de Lectura 4.2
Actividad 1-Reporte de Lectura 4.2
No hay un único tipo de lenguajes, sino que se clasifican según las características
que posean y según el paradigma y conceptos que soporten.
Página | 1
SINTÁXIS DE LOS LENGUAJES DE PROGRAMACIÓN
La sintaxis de un lenguaje de programación es la estructura en que se organizan los
distintos elementos sintácticos, como espacios, identificadores, operadores, etc. Es
decir, el orden que tienen unos con respecto a otros.
Una sintaxis se evalúa según varios criterios: que sea fácil de leer, de escribir, de
verificar (chequear en busca de errores), fácil de traducir y que carezca de
ambigüedad. Esta última significa que un mismo código puede tener 2 o más
interpretaciones o traducciones posibles, en cuyo caso no se puede decidir que
alternativa elegir.
os elementos de la sintaxis son: alfabeto, identificadores (nombres de variables,
constantes, etc.), símbolos de operadores (+,-,etc.), espacios en blanco,
delimitadores y corchetes, palabras pregonadas (palabras que se pueden omitir sin
alterar el significado), palabras clave y reservadas (propias del lenguaje),
comentarios y expresiones.
El principal problema de una sintaxis es cómo se la define. Para esto existen
metalenguajes que permiten definir la manera en que se combinan los símbolos y
elementos. Estos metalenguajes o notaciones formales son un conjunto de reglas
que especifican el modelo de construcción de las cadenas aceptadas por el
lenguaje. Es decir que un metalenguaje es un lenguaje que define a un lenguaje de
programación. Sus elementos son símbolo distinguido, metasímbolos y
metavariables.
Página | 2
SEMÁNTICA DE LOS LENGUAJES DE PROGRAMACIÓN
La semántica de un lenguaje de programación se refiere al significado que adoptan
las distintas sentencias, expresiones y enunciados de un programa. La semántica
engloba aspectos sensibles al contexto, a diferencia de la sintaxis que considera
aspectos libres de contexto.
o condicionales (if (a*b > 2)...). Cada una de estas tiene una semántica especifica
que la define. Por ejemplo en una expresión aritmética el tipo esperado es numérico
(esto es int, long, etc.), los operadores deben ser +,-,*, /; y las funciones utilizadas
dentro de ésta deben retornar valores numéricos.
Por ejemplo, el chequeo de tipos depende del contexto porque debemos saber el
tipo esperado y el actual y determinar si son compatibles. El tipo esperado lo
obtenemos del contexto analizando la definición de la variable. Si la variable num1
está definida de tipo String, y más adelante le queremos asignar el valor 1000, se
producirá un error de tipo.
Página | 3
ELEMENTOS DE LOS LENGUAJES DE PROGRAMACIÓN
Entidades: Son los elementos sobre los que trabaja un programa.
Pueden ser subprogramas, variables, rótulos y sentencias. Tienen atributos, a los
que se asocian a través de un mecanismo llamado ligadura.
Atributos: nombre, valor, tipo, locación de memoria, tiempo de vida, alcance y alias.
Estas son las características de cada una de las entidades, es decir que un
subprograma tendrá un nombre, una locación de memoria, tendrá un valor (el valor
que retorna), tendrá un alcance, etc.
Ligaduras: Se refiere a asociar un atributo con una entidad. Las entidades ligables
son subprogramas, variables y constantes, tipos, parámetros formales, excepciones
y etiquetas. Las ligaduras se pueden producir en distintos momentos, como en la
compilación o en la ejecución.
Ligadura estática: Son menos flexibles, pero más seguras, detección temprana de
errores y permiten una mayor eficiencia. Se produce en lenguajes orientados a la
compilación.
Ligadura dinámica (en tiempo de ejecución): son más flexibles, pero menos
seguras. Mayor costo de ejecución. Se produce en lenguajes orientados a la
ejecución. Corresponden a las que no se pueden realizar en un paso anterior y
necesitan del programa en ejecución para hacerlas. Un ejemplo es la asignación de
un valor a un nodo de un árbol. Como antes de la ejecución no se conoce la locación
de memoria en la que se almacena el nodo, es imposible hacer la asignación. En
este caso el atributo de locación se conoce sólo en tiempo de ejecución.
Declaraciones: Son sentencias que crean una ligadura entre un tipo, un nombre y
un valor. A veces el valor se puede omitir, por ej: String suNombre.
Página | 4
Tenemos 2 tipos de declaraciones.
Declaraciones implícitas: ocurren cuando se usa por primera vez la variable. Son
muy inseguras y pueden provocar errores difíciles de detectar. Un ejemplo es
FORTRAN, en el que las variables que empiezan con i son de tipo entero.
Recursivas: se las utiliza para definir estructuras dinámicas como árboles, grafos y
listas. Se llaman recursivas porque la definición se incluye a sí misma.
Página | 5
Estructura en bloques chatos: Las declaraciones son globales y en varios
subprogramas. El ambiente es global y propio de cada subprograma y el alcance
dentro de un subprograma es a este y al ambiente global. Es decir que no está
permitido acceder desde un subprograma al ambiente de referenciamiento de otro.
La incorporan lenguajes como C++ y Java.
Página | 6
CONCLUSIÓN
Los lenguajes de alto nivel se desarrollaron con el objetivo de ser más accesibles y
entendibles por la mayoría de programadores, de manera que los programadores
pudieran concentrarse más en resolver la tarea o los problemas y no en el lenguaje
que la maquina tenía que entender.
Página | 7
BIBLIOGRAFIA
https://www.monografias.com/trabajos-pdf/lenguajes-programacion/lenguajes-
programacion.shtml#introducca
https://sites.google.com/site/tcaldlengprog/conclusion-de-lenguaje-de-
programacion
https://desarrolloweb.com/articulos/introduccion-lenguajes-programacion-
fundamentos.html
Página | 8