Está en la página 1de 5

Autmata finito: es un modelo computacional que realiza cmputos en forma automtica sobre

una entrada para producir una salida.


La finalidad de los autmatas finitos es la de reconocer lenguajes regulares, que corresponden a
los lenguajes formales ms simples segn la Jerarqua de Chomsky.
Ejemplo: sistemas operativos , lenguajes de programacin
Autmata finito determinista : (abreviado AFD) es un autmata finito que adems es un sistema
determinista; es decir, para cada estado en que se encuentre el autmata, y con cualquier smbolo
del alfabeto ledo, existe siempre a lo ms una transicin posible desde ese estado y con ese
smbolo.
Ejm: comprar con dinero electrnico, pagos de factura.
Modelo de vista controlado: (MVC) es un patrn de arquitectura de software que separa los
datos y la lgica de negocio de una aplicacin de la interfaz de usuario y el mdulo encargado de
gestionar los eventos y las comunicaciones.
GIC: En las Gramticas Independientes del Contexto las producciones son menos restrictivas que
en las gramticas regulares. En este caso, la parte izquierda de la produccin tambin est
formada por un nico smbolo no terminal, pero no hay restricciones respecto a la parte derecha de
la produccin.
Una GIC est compuesta por 4 elementos:
1. Smbolos terminales (elementos que no generan nada)
2. No terminales (elementos del lado izquierdo de una produccin, antes de la flecha "->")
3. Producciones (sentencias que se escriben en la gramtica)
4. Smbolo inicial (primer elemento de la gramtica)

Autmatas de Pila: es un modelo matemtico de un sistema que recibe una cadena constituida
por smbolos de un alfabeto y determina si esa cadena pertenece al lenguaje que el autmata
reconoce. El lenguaje que reconoce un autmata con pila pertenece al grupo de los lenguajes
libres de contexto en la clasificacin de la Jerarqua de Chomsky.
Lenguaje aceptado por un Autmata de Pila: El lenguaje aceptado por un Autmata de Pila se
puede definir de dos formas diferentes y equivalentes:
1. De forma anloga a los Autmatas Finitos, es decir, el lenguaje aceptado es el conjunto de
entradas que hacen que el Autmata llegue a un estado final.
2. El lenguaje est formado por el conjunto de entradas que vacan la pila. En este caso
decimos que es un Autmata de Pila Vaca.

Ambigedad: Una gramtica es ambigua cuando es posible construir dos o ms arboles de


derivacin diferentes para una misma palabra.
Reconocimiento descendente: Un reconocedor descendente o analizador sintctico descendente
es un mtodo de reconocimiento de palabras de un LIC que se caracteriza porque construye el
rbol de derivacin de cada palabra de manera descendente, es decir, desde la raz hasta las
hojas.

Simplificacin de las GIC: Hay diferentes formas de restringir el formato de las producciones sin
mermar por ello el poder generativo de una GIC. En determinadas situaciones nos interesara
trasformar una gramtica en otra equivalente de forma que las producciones cumplan ciertos
requisitos que faciliten la construccin de un reconocedor para dicha gramtica.
Compilador: es un programa informtico que traduce un programa escrito en un lenguaje de
programacin a otro lenguaje de programacin.1 Usualmente el segundo lenguaje es lenguaje de
mquina, pero tambin puede ser un cdigo intermedio (bytecode), o simplemente texto. Este
proceso de traduccin se conoce como compilacin.
El primer compilador fue escrito por Grace Hopper, en 1952, para el lenguaje Sistema A-0. El
trmino compilador fue acuado por Hopper. El equipo FORTRAN dirigido por John W. Backus de
IBM est generalmente acreditado por haber presentado el primer compilador completo, en 1957.
El primer compilador FORTRAN necesit de 18 aos-persona para su creacin.
Un compilador se divide en dos partes principalmente: Analisis y Sintesis, el analisis desglosa
el programa fuente y forma una representacion intermedia, la sintesis requiere de tecnicas mas
especialiadas. de los cuales se derivan las siguientes fases.
Anlisis: Se trata de la comprobacin de la correccin del programa fuente, e incluye las fases
correspondientes al Anlisis lxico (que consiste en la descomposicin del programa fuente en
componentes lxicos), anlisis sintctico (agrupacin de los componentes lxicos en frases
gramaticales ) y anlisis semntico (comprobacin de la validez semntica de las sentencias
aceptadas en la fase de anlisis sintctico).
Anlisis lxico: es la primera fase de un compilador consistente en un programa que recibe como
entrada el cdigo fuente de otro programa (secuencia de caracteres) y produce una salida
compuesta de tokens (componentes lxicos) o smbolos.
Anlisis sintctico: (o parser) es una de las partes de un compilador que transforma su entrada
en un rbol de derivacin. El anlisis sintctico convierte el texto de entrada en otras estructuras
(comnmente rboles), que son ms tiles para el posterior anlisis y capturan la jerarqua implcita
de la entrada.

Anlisis semntico: La fase de anlisis semntico revisa el programa fuente para tratar de
encontrar errores semnticos y rene la informacin sobre los tipos para la fase posterior de
generacin de cdigo. En ella se utiliza la estructura jerrquica determinada por la fase de anlisis
sintctico para identificar los operadores y operandos de expresiones y proposiciones.
El primer lenguaje de alto nivel multiplataforma demostrado fue COBOL
Lisp: El Lisp (o LISP) es una familia de lenguajes de programacin de computadora de tipo
multiparadigma con una larga historia y una sintaxis completamente entre parntesis.
ALGOL , lenguaje de programacin cuyo nombre es un acrnimo formado a partir de las siglas en
ingls de ALGorithmic Oriented Language. Aunque no tuvo mucho xito comercial es muy
importante en la historia de la informtica ya que tuvo una gran influencia en la mayora de los
lenguajes de programacin posteriores como Pascal, C y ADA .
Ada: es un lenguaje de programacin orientado a objetos, fue diseado por Jean Ichbiah de CII
Honeywell Bull por encargo del Departamento de Defensa de los Estados Unidos, Durante los aos
1970. Es un lenguaje multipropsito, orientado a objetos y concurrente, pudiendo llegar desde la
facilidad de Pascal hasta la flexibilidad de C++.
LESS: (lenguaje de hojas de estilo) es un lenguaje dinmico de hoja de estilos diseado por Alexis
Sellier. Est influenciado por Sass y ha influido en la nueva sintaxis "SCSS" de Sass, que adapt
su sintaxis de formato de bloque tipo CSS. LESS es de cdigo abierto. Su primera versin fue
escrita en Ruby, sin embargo, en las versiones posteriores, se abandon el uso de Ruby y se lo
sustituy por JavaScript. La sintaxis con sangra de LESS es un metalenguaje anidado, como
cdigo CSS vlido es cdigo LESS vlido con la misma semntica.
Generaciones de lenguajes de programacin:
Primera generacin: Los primeros ordenadores se programaban directamente en cdigo binario,
que puede representarse mediante secuencias de ceros y unos sistema binario. Cada modelo de
ordenador tiene su propio cdigo, por esa razn se llama lenguaje de mquina.
Segunda generacin: Los lenguajes simblicos, asimismo propios de la mquina, simplifican la
escritura de las instrucciones y las hacen ms legibles.
Tercera generacin: Los lenguajes de alto nivel sustituyen las instrucciones simblicas por
cdigos independientes de la mquina, parecidas al lenguaje humano o al de las Matemticas.
Cuarta generacin: se ha dado este nombre a ciertas herramientas que permiten construir
aplicaciones sencillas combinando piezas prefabricadas. Hoy se piensa que estas herramientas no

son, propiamente hablando, lenguajes. Algunos proponen reservar el nombre de cuarta generacin
para la programacin orientada a objetos.
Intrprete: En ciencias de la computacin, intrprete o interpretador es un programa informtico
capaz de analizar y ejecutar otros programas. Los intrpretes se diferencian de los compiladores o
de los ensambladores en que mientras estos traducen un programa desde su descripcin en un
lenguaje de programacin al cdigo de mquina del sistema, los intrpretes slo realizan la
traduccin a medida que sea necesaria, tpicamente, instruccin por instruccin, y normalmente no
guardan el resultado de dicha traduccin.
Los programas interpretados suelen ser ms lentos que los compilados debido a la necesidad de
traducir el programa mientras se ejecuta, pero a cambio son ms flexibles como entornos de
programacin y depuracin (lo que se traduce, por ejemplo, en una mayor facilidad para
reemplazar partes enteras del programa o aadir mdulos completamente nuevos), y permiten
ofrecer al programa interpretado un entorno no dependiente de la mquina donde se ejecuta el
intrprete, sino del propio intrprete (lo que se conoce comnmente como mquina virtual).
El cdigo intermedio es un cdigo abstracto independiente de la mquina para la que se
generar el cdigo objeto.
En el modelo de compilacin anlisis-sntesis, el front-end traduce el programa fuente en una
representacin de cdigo intermedio, y el back-end traduce esta representacin en cdigo final.
Optimizacin de cdigo: La mayora de los compiladores suelen tener una fase de optimizacin
de cdigo intermedio (independiente de los lenguajes fuente y objeto), y una fase de optimizacin
de cdigo objeto (no aplicable a otras mquinas).
Generacin de cdigo: objeto En esta fase, el cdigo intermedio optimizado es traducido a una
secuencia de instrucciones en ensamblador o en cdigo maquina.
Control de errores: Informar adecuadamente al programador de los errores que hay en su
programa es una de las misiones ms importantes y complejas de un compilador. Es una tarea
difcil porque a veces unos errores ocultan a otros, o porque un error desencadena una avalancha
de errores asociados. El control de errores se lleva a cabo, sobre todo, en las etapas de anlisis
sintctico y semntico.
Tabla de errores:
Lxico
Semntico
Sintctico
Cdigo intermedio

Cdigo optimizador
Generador de cdigo

También podría gustarte