0% encontró este documento útil (0 votos)
161 vistas2 páginas

Actividad de Laboratorio - Sintaxis y Semántica de Los Lenguajes

Este documento describe dos actividades de laboratorio para la asignatura de Sintaxis y Semántica de los Lenguajes. La primera actividad involucra compilar un programa C usando GCC y analizar los archivos generados. La segunda actividad implica desarrollar un programa en Haskell que resuelva operaciones con lenguajes formales finitos como unión, intersección y concatenación.

Cargado por

Maxi Segovia
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
161 vistas2 páginas

Actividad de Laboratorio - Sintaxis y Semántica de Los Lenguajes

Este documento describe dos actividades de laboratorio para la asignatura de Sintaxis y Semántica de los Lenguajes. La primera actividad involucra compilar un programa C usando GCC y analizar los archivos generados. La segunda actividad implica desarrollar un programa en Haskell que resuelva operaciones con lenguajes formales finitos como unión, intersección y concatenación.

Cargado por

Maxi Segovia
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 2

UNIVERSIDAD TECNOLÓGICA NACIONAL

Facultad Regional Tucumán ACTIVIDAD


Departamento: SISTEMAS DE LABORATORIO
Cátedra: Sintaxis y Semántica de los Lenguajes Nro. 1
Ciclo 2020

GRUPO DE TRABAJO
Fecha de En-
Profesor
Nº de Grupo: División: trega
Laboratorio:
___/___/___
Orden Apellido y Nombre de los Integrantes Nro. Legajo
1
2
3
4

UNIDAD Nº 1: Lingüística Matemática


Operaciones con Lenguajes. Proceso de Compilación.

Actividad a desarrollar en el Laboratorio

1) Dado el siguiente programa fuente en Lenguaje de Programación C, realizar las siguien-


tes actividades utilizando el compilador “GCC”, desde la consola de comandos del sistema
operativo, utilizando los switch necesarios:

#define D 30
main ()
{
const int B = 10;
int C = 2;
int A = B + C * D;
}

I. Generar el archivo precompilado utilizando el switch -E de preprocesamiento y el


switch -o para direccionar la salida a un archivo con extensión txt y poder visualizarlo
desde un editor de texto plano.

II. Generar el archivo ensamblador utilizando el switch -S de ensamblado.

III. Generar el archivo objeto utilizando el switch -c de GCC. Utilizar el comando


Hexdump con el switch -C, para convertirlo a Hexadecimal y ASCII. Redireccionar la
salida a un archivo de texto, utilizando el switch >.

IV. Realizar el proceso de enlace (linker), guardando el archivo ejecutable con el mismo
nombre del archivo fuente, utilizando el switch -o. Igual que en el punto anterior obte-
ner un archivo de texto con los valores en hexadecimal y ASCII.

V. Introducir un error léxico y realizar la compilación redireccionando la salida a un archi-


vo de errores con extensión txt, para poder visualizarlo.

VI. Idem a la actividad V pero con un error sintáctico.

VII. Idem a la actividad V pero con un error semántico.

VIII. Analizar y describir el contendio de cada uno de los archivos generados en los ítems
anteriores.

Página 1/2
UNIVERSIDAD TECNOLÓGICA NACIONAL
Facultad Regional Tucumán ACTIVIDAD
Departamento: SISTEMAS DE LABORATORIO
Cátedra: Sintaxis y Semántica de los Lenguajes Nro. 1
Ciclo 2020

2) Desarrollarun programa con el paradigma funcional, utilizando el lenguaje Haskell, que


resuelva las operaciones con lenguajes formales finitos.

Tener en cuenta los siguientes requerimientos:

I. Se deberá implementar las siguientes operaciones:


a. Cardinalidad
b. Unión
c. Diferencia
d. Intersección
e. Complemento
f. Producto Cartesiano
g. Conjunto Potencia
h. Concatenación de lenguajes
i. Potencia de un lenguaje
j. Estrella de Kleene
k. Estrella Positiva
l. Inversa de un lenguaje

II. Tomar como base los programas disponibles en el bloque de Laboratorio del aula vir-
tual, que tienen resuelto algunos de los requerimientos de esta actividad.

III. Debe escribir las palabras de los dos lenguajes en archivos de texto, utilizando algún
editor como el BlocDeNotas de Windows y luego leer dichos archivos desde el pro-
grama.

IV. Suponer para el alfabeto las letras del abecedario inglés (no validar).

V. Considerar como casos particulares el lenguaje vacío y el lenguaje que contiene solo
la palabra vacía.

VI. Si bien los lenguajes de entrada serán finitos, algunas operaciones pueden arrojar re-
sultados infinitos, en cuyo caso deberán seguir el siguiente criterio:
1) Estrella de Kleene y Positiva: se obtendrá la unión de las potencias hasta un expo-
nente que se introducirá como dato.
2) Complemento: al ser la diferencia del universo con el lenguaje, se considerará un
subconjunto finito del universo compuesto por todas las palabras de longitud menor o
igual a un valor que se introducirá como dato.

VII. Cuando la operación sea con un solo lenguaje (operación unaria) obtener el resultado
para los dos lenguajes leídos por separado.

VIII. Mostrar por pantalla los lenguajes leídos y los resultados de cada operación.

Página 2/2

También podría gustarte