ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

TÉCNICAS DE LOS COMPILADORES APLICADO A PROGRAMAS DE DISTRIBUCIÓN Y ASIGNACIÓN DE INCIDENCIAS

Familia Basso MosqueraMonografía28 de Febrero de 2020

7.914 Palabras (32 Páginas)197 Visitas

Página 1 de 32

“TÉCNICAS DE LOS COMPILADORES APLICADO A PROGRAMAS DE DISTRIBUCIÓN Y ASIGNACIÓN DE INCIDENCIAS”

ÍNDICE GENERAL

Agradecimientos         ii

Dedicatorias        iv

Introducción        vii

CAPITULO I: ASPECTOS GENERALES         1

  1. Justificación        2
  2. Motivación         2
  3. Objetivos         3
  1. Objetivo General         3
  2. Objetivos Específicos         3
  1. Delimitación del proyecto         4
  2. Limitación del proyecto         4

CAPITULO 2: MARCO REFERENCIAL         5

2.1 Antecedentes         6

2.2 Concepto Principal         8

  2.2.1 ¿Qué es un compilador?         8

    2.2.1.1 Ventajas de compilar frente a interpretar        9

    2.2.1.2 Ventaja del intérprete frente al compilador        9

2.2.2 Herramientas que muestran tipos de análisis de programas fuente        10

2.2.3 Diagrama de análisis de un programa fuente, definiendo cada una de sus partes        12

2.2.4 Análisis Léxico         14

  2.2.4.1 Funciones del analizador léxico         15

     2.2.4.1.1 Otras funciones secundarias         15

     2.2.4.1.2 Ventajas de separar el análisis léxico y el análisis sintáctico        15

     2.2.4.1.3 Componentes Léxicos, Patrones, Lexemas        15

2.2.5 Lenguaje regular         18

  2.2.5.1 Lenguaje regular sobre un alfabeto         18

  2.2.5.2 Propiedades de cierre         19

  2.2.5.3 Decidir cuándo un lenguaje es regular         20

  2.2.5.4 Lenguajes finitos        20

  2.2.5.5 Expresiones regulares         21

2.2.6 Autómata Finito         22

  2.2.6.1 Definición formal         23

  2.2.6.2 Representación como diagrama de estados        23

  2.2.6.3 Representación como tabla de transiciones        24

v

  2.2.6.4 Funcionamiento        25

  2.2.6.5 Autómata finito determinista        26

 2.6.6 Autómata finito no determinista        27

2.2.7 Análisis Sintáctico        29

  2.2.7.1 Funciones        29

  2.2.7.2 Clasificación        29

CAPITULO 3: METODOLOGÍA        31

3.1 Planteamiento del problema        32

3.2 Metodología        33

3.3 Modelo de programa o prototipo        34

  3.3.1 Sistema propuesto        34

  3.3.2 Diagrama de desarrollo del programa        35

  3.3.3 Diagrama de bloques del prototipo        36

3.4 Ciclo del programa        37

3.5 Ejemplos de incidencias        40

  3.5.1 Departamento de mesa de ayuda        41

  3.5.2 Departamento de Soporte Técnico        43

  3.5.3 Departamento de Desarrollo de Sistemas        45

  3.5.4 Departamento de Infraestructura        47

  3.5.5 Departamento de Redes y Comunicaciones        48

Resumen Descriptivo        viii

Conclusión

Referencia Bibliográfica

        

vi

INTRODUCCIÓN

Esta investigación es un informe en el que se describe la implementación de compiladores en programas desarrollados para la distribución de incidencias dentro de un entorno laboral. Para desglosar este contenido, es indispensable, que antes de iniciar se definan los principales conceptos que envuelven esta investigación, estos términos o conceptos serán desarrollados en breve.

Se ha dado a conocer que dentro del ambiente de programación es importante contar con los diferentes analizadores y lenguajes, puestos que estos son un componente imprescindible para la correcta ejecución de los programas que se quieren desarrollar.

Para esto hemos decidido enfocar nuestra investigación en uno de estos analizadores y lenguajes, enfocándonos específicamente en un tipo de programa, en este caso, los que usualmente las empresas utilizan para la asignación y distribución de incidencias, entre colaboradores.

En esta época la mayoría de las empresas con una gran cantidad  de colaboradores, deciden ya sea desarrollar o adquirir externamente una aplicación o programa que los ayude o facilite la distribución del trabajo. En esta ocasión analizaremos el lenguaje de programación utilizados en estos programas o herramientas.

vii

CAPITULO I

ASPECTOS GENERALES

1. ASPECTOS GENERALES

1.1 JUSTIFICACIÓN

Dado que la muchas de las empresas hoy en día entre sus servicios tienen una sección de atención al cliente, ya sea a sus propios colaboradores o a sus clientes externos y dado que en muchas ocasiones se hacen las asignaciones de estos incidentes de manera errónea, provocando la pérdida de tiempo, de energía y recursos tanto para los colaboradores como para la empresa, hemos visto la necesidad de estudiar la posibilidad de crear un aplicación o programa que facilite la asignación correcta de estas y la reducción de estos errores.

Para esto hemos escogido basarnos en la implementación del analizador léxico, durante la programación de este programa o dentro de este, para desarrollar de manera diferente y efectiva esta aplicación.

1.2 MOTIVACIÓN

Debido a la gran cantidad de empresas que utilizan estos programas para la distribución y asignación de incidencias, y que a pesar de tener esta útil herramienta, aún existe un gran margen de error y equivocaciones a la hora de distribuirlos, se crea la inquietud de investigar, en la parte lógica si existe algún tipo de patrón errado que lleve a que las herramientas no se utilicen ni se desarrollen de manera adecuada.

También nos interesa ampliar nuestro conocimiento en el área de la programación de aplicaciones, puesto que es un mercado muy amplio actualmente en donde hay grandes oportunidades de desarrollo.

2

1.3 OBJETIVOS

1.3.1 OBJETIVO GENERAL

Analizar el rol de los compiladores a través de un programa o aplicación que facilite la asignación de incidentes que puedan utilizar las empresas para reducir el margen de error en la asignación de estas, ahorrando, tiempo energía y recursos para las empresas.

1.3.2 OBJETIVOS ESPECÍFICOS

  • Investigar en qué consisten los compiladores y sus componentes.
  • Implementar y analizar el rol de los compiladores a través de un lenguaje de programación.
  • Analizar el desarrollo de la aplicación dependiendo del lenguaje de programación que se utilice, así como los códigos que se implementen.
  • Analizar el uso de los programas basados en el desarrollo de estos, así como la correcta distribución de estos.
  • Desarrollar un modelo o prototipo que funcione para programar la distribución de incidencias dentro de un departamento o empresa.

3

1.4 DELIMITACIÓN DEL PROYECTO

El desarrollo de la investigación tomó un mes, siendo que luego de las investigaciones pertinentes, se dedicarán varios días más para el análisis y el desarrollo del prototipo basándonos en los datos recolectados. Luego, se tomaron más días  para completar el análisis y la corrección así como la posible reestructuración de algunos datos.

1.5 LIMITACIÓN DEL PROYECTO

Como limitantes que puedan existir dentro de este proyecto, podemos tener el tiempo de implementación de este proyecto, así como el lenguaje de programación que se utilizará.

También podremos tener inconvenientes para utilizar algún programa específico como ejemplo para la demostración de la investigación.

Así como no contar con los permisos suficientes para poder mostrar o revelar los códigos fuentes utilizados para el análisis que requiere la investigación.

4

CAPITULO II

MARCO REFERENCIAL

MARCO REFERENCIAL

2.1 ANTECEDENTES

Visión histórica del desarrollo de los compiladores

  • 1946, se desarrolla el primer ordenador digital. Las instrucciones que se ejecutaban eran códigos numéricos, lenguaje de máquina., esto es engorroso, entonces surgen los ensamblador. Al inicio el programa se escribía mediante claves y luego se traducía manualmente al lenguaje de máquina. Cuando esto lo hizo la misma máquina, a este trabajo se le llamó ensamblar el programa.
  • 1950, John Backus dirige una investigación en IBM en un lenguaje algebraico
  • 1954, se comienza a desarrollar FORTRAN
  • 1957, FORTRAN se utiliza en la IBM modelo 704
  • Surge el concepto traductor
  • El primer compilador de FORTRAN tardó 18 años-persona en realizarse
  • FORTRAN era dependiente de la máquina
  • Paralelamente al desarrollo de FORTRAN en América, en Europa surge una corriente que pretende que los lenguajes fuesen independientes de la máquina, esta corriente estaba influida por los trabajos sobre GLC de Chomsky
  • Surge un grupo Europeo encabezado por F.L. Bauer, en la que participó ACM y John Backus. De este grupo surge un informe que define un Lenguaje Algebraico Internacional, publicado en Zurich en 1958
  • 1969, aparece Algol 60.

6

  • Junto con los lenguajes también la técnica de los compiladores avanza

  • 1958, Strong y otros proponen una solución al problema de que un compilador fuera portable, y esta era dividir al compilador en dos fases “front end” (analiza el programa fuente) y “back end” (genera código objeto para la máquina objeto).
  • El puente de unión era un lenguaje intermedio denominado UNCOL –Universal Computer Oriented Language (no funcionó)
  • 1959, Rabin y Scott proponen el empleo de AFD y AFN para el reconocimiento lexicográfico de los lenguajes
  • Aparece BNF (Backus-1960, Naur-1963, Knuth-1964) como una guía para el desarrollo del análisis sintáctico
  • 1959, Sheridan describe un método de parsing de FORTRAN para introducir paréntesis en una expresión
  • En los 60’s se desarrollan diversos métodos de parsers ascendentes y descendentes
  • Floyd más adelante introduce la técnica de precedencia de operadores y uso de funciones de precedencia
  • 1961, se usa por primera vez un parsing descendente recursivo
  • En los 60’s se estudia el paso de parámetros por nombre, valor y referencia y se incluyen los procedimientos recursivos para Algol 60
  • Se desarrolla la localización dinámica de datos
  • 1968, se estudia y definen las GLC, los parsers predictivos y la eliminación de recursividad izquierda
  • 1975, aparece LEX generador automático de analizadores léxicos a partir de expresiones regulares bajo UNIX
  • A mitad de los 70’s Johnson crea YACC para UNIX (generador de analizadores sintácticos)

7

  • Ahora un compilador de divide en varias fases
  • El último lenguaje de programación de amplia aceptación es JAVA (es interpretado)

2.2 CONCEPTO PRINCIPAL

  2.2.1 ¿Qué es un compilador?

Un traductor es cualquier programa que toma como entrada un texto escrito en un lenguaje, llamado fuente y da como salida otro texto en un lenguaje, denominado objeto.

...

Descargar como (para miembros actualizados) txt (51 Kb) pdf (739 Kb) docx (1 Mb)
Leer 31 páginas más »
Disponible sólo en Clubensayos.com