Compiladores.docx

  • Uploaded by: fred
  • 0
  • 0
  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Compiladores.docx as PDF for free.

More details

  • Words: 932
  • Pages: 5
COMPILADORES

1. ¿En qué otras disciplinas tiene sus raíces la teoría de autómatas y lenguajes formales? 2. Las raíces de la teoría de autómatas y lenguajes formales son: Teoría de Control, Ordenadores, Teoría de la Comunicación, Lógica de los Circuitos Secuenciales, Fisiología del Sistema Nervioso, Traducción Automática de Lenguajes. 3. Explica la utilidad de un preprocesador. El procesador es el el elemento que interpreta las instrucciones y procesa los datos de los programas de computadora y las instrucciones dadas por el usuario también permite modificar el programa antes de la traducción, que es llamado por el compilador, también se considera que son una fase preliminar del compilador.

4. En que se diferencian los lenguajes ensambladores de los autocodes. El lenguaje ensamblador es un lenguaje de programación de bajo nivel para los computadores, microprocesadores, microcontroladores y otros circuitos integrados programables. Que implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. Ahora bien el lenguaje autocode es un lenguaje de máquina, se diferencia del ensamblador por la introducción de la macro-instrucción. Se denomina así por que en el momento de la traducción genera varias instrucciones de código máquina

5. Explique la diferencia entre compilación e interpretación.

Interpretación es leer línea a línea un programa escrito en un lenguaje fuente y lo va traduciendo a un código intermedio para poder ejecutarlo,

Compilación Los lenguajes compilados suelen proporcionar al programador mecanismos más potentes y flexibles. A costa de una mayor union a la plataforma, El proceso de traducción se realiza una sola vez, Un archivo compilado puede ser distribuido fácilmente conociendo la plataforma, mientras que un archivo interpretado no funciona si no se tiene el intérprete 6. En qué consiste el proceso de compilación cruzada. La compilación cruzada se denomina a un compilador que se ejecuta en una maquina pero el código objeto es para otra máquina. Esta herramienta es útil cuando se quiere compilar código para una plataforma a la que no se tiene acceso o cuando se nos dificultad compilar en dicha plataforma. 7. Seleccione un compilador conocido que venga empacado con un ambiente de desarrollo, y haga una lista de todos los programas acompañantes que se encuentran disponibles con el compilador junto con una breve descripción de sus funciones. GCC Es un conjunto de compiladores creados por el proyecto GNU. GCC es software libre y lo distribuye la Free Software Foundation (FSF) bajo la licencia general pública GPL. Originalmente GCC significaba GNU C Compiler (compilador GNU de C), porque sólo compilaba el lenguaje C. Posteriormente se extendió para compilar C++, Fortran, Ada y otros. La mayoría de Entornos de desarrollo integrado escritos para GNU/Linux y algunos otros sistemas operativos soportan GCC. Estos son algunos: Dev-C++: es un entorno de desarrollo integrado (IDE) para programar en lenguaje C/C++. Usa MinGW, que es una versión de GCC (GNU Compiler Collection) como su compilador. Eclipse: es un programa informático compuesto por un conjunto de herramientas de programación de código abierto multiplataforma para desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido", opuesto a las aplicaciones "Cliente-liviano" basadas en navegadores. NetBeans: es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programación Java

8. Indique los lexemas de la siguiente expresión y como quedaría estructurada la tabla de símbolos A[ï+1] = a[i] + 2 LEXEMA A [ i + 1 ] = a [ i ] + 2

TOKEN Variable(1) Corchete abierto Variable(2) Operador (sum) Número (1) Corchete cerrado Asignación Variable(3) Corchete abierto Variable(4) Corchete cerrado Operador (sum) Número (2)

9. Los errores de compilación pueden dividirse aproximadamente en dos categorías: errores sintácticos y errores semánticos. Los errores sintácticos incluyen tokens olvidados o manera incorrecta, tal como el paréntesis derecho olvidado en la expresión aritmética (2+3. Los errores semánticos incluyen tipos incorrectos en expresiones y variables no declaradas (en la mayoría de los lenguajes), tal como la asignación x := 2, donde x es una variable de tipo arreglo. a. Proporcione dos ejemplos más de errores de cada clase en un lenguaje de su elección. Java unos errores sintácticos son: En Java hay un error de lógica o sintaxis. Para comparar 2 referencias para igualarlas se usa el operador == que es el de igualación. Para asignar el valor de la derecha a la variable de la izquierda se usa el operador = que es el de asignación también Carece al final de una instrucción de un punto y coma. Errores semánticos son: Debemos ser muy cuidadosos en el momento de escribir una instrucción con mayúsculas y minúsculas porque miVar no es igual a mivar también Lucas==10 donde Lucas es una variable de tipo entero.

b. Seleccione un compilador con el que esté familiarizado y determine si se enumeran todos los errores sintácticos antes de los errores semánticos o si los errores de sintaxis y de semántica están entremezclados. ¿Cómo influye esto en el número de pasadas'? DEV c++ es un compilador que enumera como prioridad los errores sintácticos. Antes de los semánticos

9. Cree una aplicación de ejemplo en Java y utilice la herramienta JProfiler (Perfilador) para monitorear el trabajo de la CPU, la memoria y otras características. Muestre los resultados.

10. Realice una lista de lenguajes intérpretes y de lenguajes compilados.

Interpretación ActionScript ASP Bash Basc4GL COBO Inform IO JavaScript Logo R Lisp Lua Lush NWNScript PHP

Compilación Ada ALGOL Algol 60 Algol 68 SMALL BASIC C C++ Objective-C C# CLEO COBOL Cobra Common Lisp Delphi Eiffel Sather Ubercode Factor Forth

Fortran

More Documents from "fred"

Sv_5c_2
May 2020 12
Fusionae_case Study 2
May 2020 10
Classes Of Citizenship
June 2020 10
Compiladores.docx
April 2020 19
Informe.docx
December 2019 23