Sintaxis de Lenguaje
Sintaxis de Lenguaje
Sintaxis de Lenguaje
DE MANABÍ
Integrantes:
Asignatura:
Docente:
Ensayo
Ciclo:
En el marco teórico desarrollamos temas y subtemas con sus respectivos conceptos para
poder comprender a profundidad los conceptos, características e implementación de
lenguajes de la programación, como son algunos tipos de lenguajes que se manejan
diferente sintaxis y semántica.
Para poder ampliar nuestros conocimientos de cada uno de los lenguajes es necesario
profundizar y entender su traducción y ejecución, comparando su interpretación y
compilación como es a código nativo o representación portable intermedia. También los
sistemas básicos con conjunto de valores o conjunto de operaciones. Como estos se
asocian con las variables, sus argumentos, resultados y campos, más su tipo de seguridad,
errores causados por el uso de valores de manera incompatible dadas sus tipos previstos.
Lenguaje
Programación
Lenguaje de programación
Los intérpretes leen la instrucción línea por línea y obtienen el código máquina
correspondiente.
Un lenguaje de bajo nivel es trasladado fácilmente a lenguaje de máquina (la palabra bajo
se refiere a la abstracción reducida entre el lenguaje y el hardware).
Y los lenguajes de programación de alto nivel se caracterizan por expresar los programas
de una manera sencilla.
Léxico
( nombre-token, valor-atributo )
Sintaxis
Semántico
Al contrario de ello, una compilación de código nativo, nos permite o facilita obtener una
respuesta directa a una necesidad muy concreta, permitiendo explotar aún más el
rendimiento de las apps.
Este código fuente debe ser traducido a binario para que las instrucciones que contienen
puedan ser entendidas y ejecutadas por la máquina.
Para esto existe un programa encargado de realizar la traducción, llamado traductor del
lenguaje.
3. Sistemas de tipos.
A. Sistemas de tipos básicos. Tipos como conjunto de valores junto con un conjunto
de operaciones.
Los tipos como un conjunto de valores, nos referimos a un atributo que se indica al
computador respecto a la naturaleza de los datos que se dispone a procesar. Esto incluye
delimitar o restringir los datos, definir los valores que pueden tomar, qué operaciones se
puede realizar con ellos, etc.
En otro aspecto, una vez que se comprende el concepto de variable y/o constante, sus
correspondientes tipos de datos y las expresiones que pueden escribirse al combinar
operadores y operandos es posible realizar operaciones, es decir acciones que conduzcan
a disponer de variables con valores que pueden obtenerse ya sea por parte de los usuarios
de los programas o a su vez como resultado de la ejecución de una expresión.
En algunos casos, una entidad puede tener más de un nombre (esto se denomina aliasing,
y se dice que el nombre nuevo es un alias del original). I En algunos casos un identificador
tener más de un significado, a esto se denomina sobrecarga. I Cuando hay sobrecarga, la
selección del significado de una aparición del identificador se realiza teniendo en cuenta
el contexto de dicha aparición. Por ahora supondremos que esto no ocurre.
En un programa dado, cada sentencia (cada vez que se ejecuta) y cada expresión (cada
vez que se evalúa) tienen asociado un entorno I El entorno de una sentencia o expresión
indica que identificadores se pueden usar en ella y que significado tienen.
4. SINTAXIS DE LENGUAJE
Análisis descendente
Análisis ascendente
1. abbcde 4. aABe
5. S
2. aAbcde
3. aAde
Diferencias entre el descendente y el ascendente
Análisis sintáctico descendente Análisis sintáctico ascendente
Se construye el árbol sintáctico de arriba Se construye el árbol sintáctico de abajo hacia arriba,
hacia abajo y se utiliza más reglas. lo cual disminuye el número de reglas mal aplicadas
con respecto al caso descendente.
5. SEMÁNTICA DE UN LENGUAJE
Especificación de Semántica
Fases
Semántica axiomática: Especifica las propiedades del efecto de ejecutar las sentencias
sintácticamente correctas, expresadas mediante asertos, desoyendo así los aspectos de su
ejecución.
Semántica algebraica: Se basa en la especificación de tipos de datos abstractos mediante
una colección de operaciones (incluyendo alguna constante). Puesto que un conjunto de
valores al que se le añaden una colección de operaciones constituye un álgebra.
Semántica de acciones: Fue elaborado por Peter Mosses [Mosses91] para describir la
semántica de lenguajes de un modo más inteligible. Las especificaciones semánticas de
lenguajes siempre han sido consideradas como oscuras, complicadas y únicamente
legibles por expertos, adquiriendo así una mala reputación por su uso intensivo de
símbolos matemáticos.
Ejemplos de comprobación
Ejemplo:
4. CONCURRENCIA Y PARALELISMO.
Beneficios y Diferencias
Diferencias
1. La concurrencia es el acto de ejecutar y administrar múltiples tareas al mismo
tiempo. Por otro lado, el paralelismo es el acto de ejecutar varias tareas
simultáneamente.
2. El paralelismo se obtiene mediante el uso de varias CPU, como un sistema
multiprocesador y la operación de diferentes procesos en estas unidades de
procesamiento o CPU. En contraste, la concurrencia se logra intercalando la
operación de los procesos en la CPU y particularmente el cambio de contexto.
3. Se puede implementar la concurrencia utilizando una sola unidad de
procesamiento, mientras que esto no puede ser posible en caso de paralelismo,
requiere múltiples unidades de procesamiento.
4. La principal diferencia del paralelismo contra la concurrencia es que, en el
paralelismo, todos los procesos concurrentes están íntimamente relacionados a
resolver el mismo problema, de tal forma que el resultado de los demás procesos
afecta al resultado final.
Más de un procesador => permite que exista un paralelismo real entre los procesos
Se han desarrollado lenguajes de alto nivel para que sean más accesibles
y comprensibles para la mayoría de los programadores, de modo que los
programadores puedan centrarse más en resolver la tarea o problemas y en el lenguaje
que la máquina tenía que entender.
Alfonseca, M., Cruz, M., Ortega, A., & Pulido, E. (2006). Compiladores e interpretes:
teoría y práctica (Vol. 1) [Libro electrónico]. PEARSON EDUCACIÓN, S.A.
Recuperado de:
https://books.google.com.ec/books?id=yJKOGAAACAAJ&dq=Compiladores+e
+interpretes:+teor%C3%ADa+y+pr%C3%A1ctica&hl=es-
419&sa=X&redir_esc=y
Watt, D., & Muffy, T. (1996). Sintaxis y semántica del lenguaje de programación.
Prentice Hall.