SlideShare a Scribd company logo
1 of 13
Download to read offline
INSTITUTO TECNOLOGICO SUPERIOR
DE
FELIPE CARRILLO PUERTO
INVESTIGACIÓN:
U1 INTRODUCCIÓN A LA TEORÍA DE LENGUAJES FORMALES.

D O C E N T E:
Ing. Marcos Gaspar Pech Cruz.

PRESENTA
Angulo Estrella Jesús Alberto
Lara Domínguez Efraín
Yama May José Luis
Tun Chulin Johnni Giovanni
Canul Chan Rolando
Estrada Canul Roger Alfredo

Aula: J2

No. De Control 111K0030
No. De Control 111K0043
No. De Control 111K0056
No. De Control 111K0235
No. De Control 111K0231
No. De Control 111K0038

Grupo: B

C A R R E R A:
Ingeniería en sistemas computacionales
M A T E R I A:
Lenguajes Y Automatas

Felipe Carrillo Puerto, Quintana Roo a 28 de Enero de 2014
Introducción a la Teoría de Lenguajes Formales

Contenido
1.1 ALFABETO ............................................................................................................................ 3
1.1.

CADENA ......................................................................................................................... 3

1.3 LENGUAJES .......................................................................................................................... 4
1.4 TIPOS DE LENGUAJES.......................................................................................................... 4
1.5 HERRAMIENTAS COMPUTACIONALES LIGADAS CON LENGUAJES. ..................................... 6
1.6 ESTRUCTURA DE UN TRADUCTOR. ...................................................................................... 8
1.7 FASES DE UN COMPILADOR. ............................................................................................. 11

ITS Carrillo Puerto

Lenguajes Y Autómatas

2
ISC-6B
Introducción a la Teoría de Lenguajes Formales

INTRODUCCIÓN TEORÍA DE LENGUAJES FORMALES.

1.1 ALFABETO
Se llama alfabeto a un conjunto finito, no vacío, cuyos elementos se denominan
“letras” o “símbolos”. Se denomina palabra a toda secuencia finita de letras
formada con los símbolos de un alfabeto. Se definen los alfabetos por la
enumeración de los símbolos que contiene.
Un "símbolo" es una entidad abstracta. Las letras y los dígitos son ejemplos
de símbolos usados con frecuencia.

Se utilizan meta–símbolos (tal como {, }, =, y la coma) para escribir sobre lo
que hablamos.
Desde el contexto siempre será claro, si se trata de un símbolo del alfabeto o si
se trata de un meta–símbolo.
Usamos subíndices para distinguir diferentes alfabetos.
Usamos normalmente las minúsculas como alfabeto S = {a, . . . , z}, en los
ejemplos normalmente letras desde el principio del alfabeto.
Cardinalidad del alfabeto (número de elementos del alfabeto): |S| > 0, |S| < 8

1.1. CADENA
Una cadena (o palabra) es una secuencia finita de símbolos yuxtapuestos. Por
ejemplo a, b y c son símbolos y casa es una cadena.
La longitud de una cadena w que se denota como |w|, es el número de
símbolos que componen la cadena. Por ejemplo casa tiene una longitud 4.
Habitualmente, se emplean las letras minúsculas del principio del alfabeto (o
dígitos) para designar a los símbolos y las letras minúsculas del final del
alfabeto,
normalmente w,
x,
y y
z,
para
designar cadenas.
La cadena vacía, denotada por E es aquella que presenta cero apariciones
de símbolos, es una cadena que puede construirse en cualquier alfabeto.

ITS Carrillo Puerto

Lenguajes Y Autómatas

3
ISC-6B
Introducción a la Teoría de Lenguajes Formales

La concatenación de dos cadenas es la cadena que se forma al escribir la
primera seguida de la segunda, sin que haya espacio entre ellas, Por ejemplo
la concatenación de padre y madre es padremadre. La yuxtaposición se utiliza
como el operador de concatenación. Esto es si w y x son cadenas, entonces wx
es la concatenación de estas dos cadenas. La cadena vacía es la identidad
para el operador de concatenación, es decir Ew=wE para cada cadena de w.

1.3 LENGUAJES
Un lenguaje es un conjunto de cadenas, todas ellas seleccionadas de
un subconjunto finito donde el conjunto es un determinado alfabeto. Es una
forma de representar información basada en un conjunto finito de signos o
símbolos.

El conjunto vacío Ø y el conjunto formado por la cadena vacía { E } son
lenguajes.
El conjunto de palíndromos (cadenas que se leen igual de izquierda a
derecha y viceversa) sobre el alfabeto {0,1} es un lenguaje infinito. Algunos
elementos de este lenguaje son E, 0, 1, 00, 01,010, y 1101011.
Por consiguiente vemos que el conjunto de todos los palíndromos sobre
una colección finita de símbolos no es, técnicamente hablando, un lenguaje,
porque sus cadenas no se construyen colectivamente a partir de un alfabeto.

1.4 TIPOS DE LENGUAJES
Lenguajes de bajo nivel
Son lenguajes totalmente dependientes de la máquina, es decir que el
programa que se realiza con este tipo de lenguajes no se puede migrar o
utilizar en otras máquinas.
Al estar prácticamente diseñados a medida del hardware, aprovechan al
máximo las características del mismo.
Dentro de este grupo se encuentran:


El lenguaje maquina: este lenguaje ordena a la máquina las operaciones
fundamentales para su funcionamiento. Consiste en la combinación de 0's y
1's para formar las ordenes entendibles por el hardware de la máquina.
Este lenguaje es mucho más rápido que los lenguajes de alto nivel.

ITS Carrillo Puerto

Lenguajes Y Autómatas

4
ISC-6B
Introducción a la Teoría de Lenguajes Formales

La desventaja es que son bastantes difíciles de manejar y usar, además de
tener códigos fuente enormes donde encontrar un fallo es casi imposible.


El lenguaje ensamblador es un derivado del lenguaje máquina y está
formado por abreviaturas de letras y números llamadas mnemotécnicos.
Con la aparición de este lenguaje se crearon los programas traductores
para poder pasar los programas escritos en lenguaje ensamblador a
lenguaje máquina. Como ventaja con respecto al código máquina es que los
códigos fuentes eran más cortos y los programas creados ocupaban menos
memoria. Las desventajas de este lenguaje siguen siendo prácticamente las
mismas que las del lenguaje ensamblador, añadiendo la dificultad de tener
que aprender un nuevo lenguaje difícil de probar y mantener.

Lenguajes de alto nivel
Son aquellos que se encuentran más cercanos al lenguaje natural que al
lenguaje máquina.
Están dirigidos a solucionar problemas mediante el uso de EDD's.
Nota: EDD's son las abreviaturas de Estructuras Dinámicas de Datos, algo muy
utilizado en todos los lenguajes de programación. Son estructuras que pueden
cambiar de tamaño durante la ejecución del programa. Nos permiten crear
estructuras de datos que se adapten a las necesidades reales de un programa.
Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo
que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes
migrar de una máquina a otra sin ningún tipo de problema.
Estos lenguajes permiten al programador olvidarse por completo del
funcionamiento interno de la maquina/s para la que están diseñando el
programa. Tan solo necesitan un traductor que entiendan el código fuente
como las características de la máquina.
Suelen usar tipos de datos para la programación y hay lenguajes de propósito
general (cualquier tipo de aplicación) y de propósito específico (como
FORTRAN para trabajos científicos).
Lenguajes de Medio nivel
Estos lenguajes se encuentran en un punto medio entre los dos anteriores.
Dentro de estos lenguajes podría situarse C ya que puede acceder a los
registros del sistema, trabajar con direcciones de memoria, todas ellas
características de lenguajes de bajo nivel y a la vez realizar operaciones de alto
nivel.
Generaciones
La evolución de los lenguajes de programación se puede dividir en 5 etapas o
ITS Carrillo Puerto

Lenguajes Y Autómatas

5
ISC-6B
Introducción a la Teoría de Lenguajes Formales

generaciones.


Primera generación: lenguaje máquina.



Segunda generación: se crearon los primeros lenguajes ensambladores.



Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C,
Pascal, Cobol…



Cuarta generación. Son los lenguajes capaces de generar código por si
solos, son los llamados RAD, con lo cuales se pueden realizar aplicaciones
sin ser un experto en el lenguaje. Aquí también se encuentran los lenguajes
orientados a objetos, haciendo posible la reutilización d partes del código
para otros programas. Ej. Visual, Natural Adobe.



Quinta generación: aquí se encuentran los lenguajes orientados a la
inteligencia artificial. Estos lenguajes todavía están poco desarrollados. Ej.
LISP

1.5 HERRAMIENTAS COMPUTACIONALES LIGADAS CON LENGUAJES.
Herramientas Desarrolladas En Programación De Sistemas


Editores de estructuras

Un editor de estructuras toma como entrada una secuencia de órdenes para
construir un programa fuente. El editor de estructuras no solo realiza las
fuentes de creación y modificación de textos de un editor de textos ordinarios,
sino que también analiza el texto del programa, imponiendo al programa fuente
una estructura jerárquica apropiada. De esa manera el editor de estructuras
puede realizar tareas adicionales útiles para la preparación de programas.
Ejemplos:
Editores de C, Pascal, Visual Studio (Fox Pro, Basic, etc.).
Para desarrollar un programa en Fortran, el primer paso es obviamente,
escribir el código fuente, utilizando un editor de texto disponible en la
computadora y guardándolo en archivos texto de extensión .f, .f90, .f95, .for o
de extensión que soporte el compilador y el sistema operativo de la
computadora.
En computadoras que funcionan bajo una versión de LINUX, lo usual
que se utiliza, como editor de texto, es emacs.
El Cornell Program Synthesizer (CPS). Es quizá el ejemplo más
conocido y el más referenciado en la literatura. Ha servido de ejemplo para
ITS Carrillo Puerto

Lenguajes Y Autómatas

6
ISC-6B
Introducción a la Teoría de Lenguajes Formales

desarrollar otros. Permite programar en un subconjunto del lenguaje PL/I
denominado PL/CS.
Gandalf es un conjunto de varios subproyectos. Su objetivo principal fue
crear un entorno completo de desarrollo de software, y no sólo un entorno de
programación.
Doxygen: Genera documentación de código C/C++ en forma de páginas
web, incluyendo diversos índices, el código fuente coloreado e indexado, e
incluso diagramas de dependencia entre módulos.
Javadoc: Para lenguaje Java. Usa un formato prefijado de comentario
para las descripciones, incluyendo marcas HTML embebidas y palabras clave
introducidas con el símbolo @. Se generan documentos en forma de páginas
web.
AdaBrowse/AdaDoc/Ada2html: Son herramientas similares a las
anteriores para código en lenguaje Ada. Igualmente generan páginas web.
GVim es la versión para Windows del editor de Unix Vim, un editor para
programadores altamente configurable.
JEdit es un editor orientado a la programación.
Komodo Edit es un editor para lenguajes dinámicos (Perl, PHP, Python,
Ruby y TCL) y de páginas web (JavaScript, CSS, HTML y XML). Este programa
es la versión libre de un programa comercial.
Minimum Profit es un editor de texto para programadores.
Notepad++ es un editor de código fuente para programadores basado
en Scintilla para java y c.


Impresoras estéticas

Una impresora estética analiza un programa y lo imprime de forma que la
estructura del programa resulte claramente visible. Por ejemplo los comentarios
pueden aparecer con un tipo de letra especial, y las proposiciones pueden
aparecer con una indentación proporcional a la profundidad de su anidamiento
en la organización jerárquica de las proposiciones. EJEMPLOS: Word, Excel,
Power Point, Photoshop, etc.


Verificadores estáticos

Un verificador estático lee un programa, lo analiza e intenta descubrir errores
potenciales sin ejecutar el programa. La parte del análisis a menudo es similar
a la que se encuentra en los compiladores de optimización así un verificador
ITS Carrillo Puerto

Lenguajes Y Autómatas

7
ISC-6B
Introducción a la Teoría de Lenguajes Formales

estático puede detectar si hay partes de un programa que nunca se podrán
ejecutar o si cierta variable se usa antes de ser definida. Puede detectar
errores de lógica, como intentar utilizar una variable real como apuntador,
empleando las técnicas de verificación de tipos.
Ejemplos:
Editores de C y Pascal.
Verificadores estáticos de sintaxis (como lint) permiten detectar muchos
errores antes de la compilación. (Algo parecido a lo que se obtiene con la
opción -fsyntax- only del compilador de GNU gcc).


Intérpretes: Un intérprete realiza las operaciones que implica el programa
fuente. Para una proposición de asignación, por ejemplo, un intérprete
podría construir un árbol y después efectuar las operaciones de los nodos
con forme “recorre” el árbol.

Muchas veces los intérpretes se usan para ejecutar lenguajes de
órdenes, pues cada operador que se ejecuta en un lenguaje de órdenes suele
ser una invocación de una rutina compleja, como un editor o un compilado
Ejemplos:
Los intérpretes (para lenguajes como Lisp o Basic, o para programas
con sus propios lenguajes interpretados como Derive o Mathematica) Shells de
sistemas operativos o de alguna aplicación como un SMBD.
http://es.scribd.com/doc/159086023/Lenguajes-y-Automatas-i#download

1.6 ESTRUCTURA DE UN TRADUCTOR.
Un traductor es un mediador entre dos entidades: emisoras y receptoras,
los mediadores enmascaran la complejidad y heterogeneidad de los lenguajes.
Un traductor convierte un lenguaje de entrada (código fuente) a una de salida
(código objeto).
Un traductor se define como un programa que traduce o convierte desde
un texto o programa escrito en un lenguaje fuente hasta un texto o programa
equivalente escrito en un lenguaje destino produciendo, si cabe, mensajes de
error. Los traductores engloban tanto a los compiladores (en los que el lenguaje
destino suele ser código máquina) como a los intérpretes (en los que el
lenguaje destino está constituido por las acciones atómicas que puede ejecutar

ITS Carrillo Puerto

Lenguajes Y Autómatas

8
ISC-6B
Introducción a la Teoría de Lenguajes Formales

el intérprete). La figura 1.1 muestra el esquema básico que compone a un
compilador/intérprete.

Tipos de traductores.
Compiladores
Es aquel traductor que tiene como entrada una sentencia en lenguaje formal y
como salida tiene un fichero ejecutable, es decir, realiza una traducción de un
código de alto nivel a código máquina (también se entiende por compilador
aquel programa que proporciona un fichero objeto en lugar del ejecutable final).
Intérpretes
Es como un compilador, solo que la salida es una ejecución. El programa de
entrada se reconoce y ejecuta a la vez. No se produce un resultado físico
(código máquina) sino lógico (una ejecución). Su principal ventaja es que
permiten una fácil depuración. Entre los inconvenientes podemos citar, en
primer lugar, la lentitud de ejecución, ya que al ejecutar a la vez que se traduce
no puede aplicarse un alto grado de optimización. Otro inconveniente es que
durante la ejecución, el intérprete debe residir en memoria, por lo que
consumen más recursos.
La figura 1.2 muestra los pasos a seguir en estos lenguajes para obtener una
ejecución.

ITS Carrillo Puerto

Lenguajes Y Autómatas

9
ISC-6B
Introducción a la Teoría de Lenguajes Formales

En el proceso de traducción se identifican dos fases principales:

Fase de Análisis

Fase de Síntesis

ITS Carrillo Puerto

Lenguajes Y Autómatas

10
ISC-6B
Introducción a la Teoría de Lenguajes Formales

1.7 FASES DE UN COMPILADOR.
Definición de Compilador.
Un compilador es un programa informático que traduce un programa escrito en
un lenguaje de programación a otro lenguaje de programación, es decir
programa que permite traducir el código fuente de un programa en lenguaje de
alto nivel, a otro lenguaje de nivel inferior (lenguaje máquina). Generando un
programa equivalente a capaz de interpretar.
FASES DE UN COMPILADOR.

Análisis Léxico. En esta fase se lee los caracteres del programa fuente y se
agrupan en cadenas que representan los componentes léxicos. A la secuencia

ITS Carrillo Puerto

Lenguajes Y Autómatas

11
ISC-6B
Introducción a la Teoría de Lenguajes Formales

de caracteres que representa un componente léxico se le llama lexema (o con
su nombre en inglés token).
Análisis Sintáctico. Los componentes léxicos se agrupan
gramaticales que el compilador utiliza para sintetizar la salida.

en

frases

Análisis Semántico. Intenta detectar instrucciones que tengan la estructura
sintáctica correcta, pero que no tengan significado para la operación implicada.
Generación de código Intermedio. Se puede considerar esta operación
intermedia como un subprograma para una máquina abstracta, a esta
representación debe tener dos propiedades importantes: debe ser fácil de
producir y fácil de traducir al programa objeto.
Optimización de Código. Se trata de mejorar el código intermedio, de modo
que resulte un código de máquina más rápido de ejecutar.
Generación de Código. Esta constituye la fase final de un compilador.
Administrador de la tabla de símbolos. Se encarga de manejar los accesos a la
tabla de símbolos, en cada una de las etapas de compilación de un programa.
Manejador de errores. Es posible encontrar errores. De esta forma podrán
controlarse más eficientemente los errores encontrados en cada una de las
fases de la compilación de un programa.
 Cada fase puede encontrar errores y debe tratarlo para continuar con la
Compilación, permitiendo detectar más errores
 Las fases de Análisis Sintáctico y Semántico manejan la mayoría de los
errores
 En el Análisis Semántico se detectan errores donde la estructura
sintáctica es correcta pero no tiene significado la operación (Por. ej.
sumar dos ID, donde uno es el nombre de una matriz y el otro un
nombre de procedimiento).
Programas Relacionados con un Compilador.
Preprocesadores (producen la entrada para una computadora).
Procesamiento de Macros
Inclusión de archivos
Preprocesadores “racionales” (estructura de control)
Extensiones a lenguajes (bases de datos).
Ensambladores Producen código ensamblador que se pasa a un ensamblador
para su procesamiento (versión mnemotécnica del código de máquina:
nombres de operaciones y nombres de direcciones de memoria).

ITS Carrillo Puerto

Lenguajes Y Autómatas

12
ISC-6B
Introducción a la Teoría de Lenguajes Formales

ITS Carrillo Puerto

Lenguajes Y Autómatas

13
ISC-6B

More Related Content

What's hot

Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosJosé Antonio Sandoval Acosta
 
Protocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemProtocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemMirna L. Torres Garcia
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Juan Anaya
 
Unidadi. lenguajes de interfaz
Unidadi.   lenguajes de interfazUnidadi.   lenguajes de interfaz
Unidadi. lenguajes de interfazLuiS YmAY
 
Alfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y ProblemasAlfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y ProblemasRaul
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingJonathan Bastidas
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador SintácticoPablo Guerra
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpuIsaí Beto Matz Mijes
 
Gramática Libre de Contexto
Gramática Libre de ContextoGramática Libre de Contexto
Gramática Libre de ContextoBrayhan Acosta
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensambladoreveTalavera
 
Capas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaCapas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaaeross
 

What's hot (20)

Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 
Protocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemProtocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modem
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
 
Unidadi. lenguajes de interfaz
Unidadi.   lenguajes de interfazUnidadi.   lenguajes de interfaz
Unidadi. lenguajes de interfaz
 
macros Lenguaje ensamblador
macros Lenguaje ensambladormacros Lenguaje ensamblador
macros Lenguaje ensamblador
 
Alfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y ProblemasAlfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y Problemas
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turing
 
Analisis Semantico
Analisis Semantico Analisis Semantico
Analisis Semantico
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpu
 
Gramática Libre de Contexto
Gramática Libre de ContextoGramática Libre de Contexto
Gramática Libre de Contexto
 
Arquitectura del software
Arquitectura del softwareArquitectura del software
Arquitectura del software
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
computación paralela
computación paralelacomputación paralela
computación paralela
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensamblador
 
Capas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaCapas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capa
 
Rational rose
Rational roseRational rose
Rational rose
 

Viewers also liked

Quiz 1 Métodos Numéricos
Quiz 1 Métodos NuméricosQuiz 1 Métodos Numéricos
Quiz 1 Métodos NuméricosDiego Perdomo
 
Presentación unidad 1 redes de computadores luisa ballén
Presentación unidad 1 redes de computadores luisa ballénPresentación unidad 1 redes de computadores luisa ballén
Presentación unidad 1 redes de computadores luisa ballénluisita91
 
Unidad 1 lenguajes regulares
Unidad 1 lenguajes regularesUnidad 1 lenguajes regulares
Unidad 1 lenguajes regularesluisita91
 
Revision de Presaberes Metodos Numericos
Revision de Presaberes Metodos NumericosRevision de Presaberes Metodos Numericos
Revision de Presaberes Metodos NumericosDiego Perdomo
 
Practica Resistencias Valor Practico y Relativo
Practica Resistencias Valor Practico y RelativoPractica Resistencias Valor Practico y Relativo
Practica Resistencias Valor Practico y RelativoHugo Alberto Rivera Diaz
 
Quiz 3 Metodos Numericos
Quiz 3 Metodos NumericosQuiz 3 Metodos Numericos
Quiz 3 Metodos NumericosDiego Perdomo
 
Revision de presaberes
Revision de presaberesRevision de presaberes
Revision de presaberesDiego Perdomo
 
52 rec1 301405
52 rec1 30140552 rec1 301405
52 rec1 301405luisita91
 
Fractales + Trangulo de Sierpinski en Java
Fractales + Trangulo de Sierpinski  en JavaFractales + Trangulo de Sierpinski  en Java
Fractales + Trangulo de Sierpinski en JavaHugo Alberto Rivera Diaz
 
Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.Vikky Moscoso
 
Reconocimiento unidad 3 Metodos Numericos
Reconocimiento unidad 3 Metodos NumericosReconocimiento unidad 3 Metodos Numericos
Reconocimiento unidad 3 Metodos NumericosDiego Perdomo
 
Examen final Autómatas y Lenguajes Formales
Examen final Autómatas y Lenguajes FormalesExamen final Autómatas y Lenguajes Formales
Examen final Autómatas y Lenguajes FormalesDiego Perdomo
 
Leccion evaluativa 2
Leccion evaluativa 2Leccion evaluativa 2
Leccion evaluativa 2Diego Perdomo
 
Leccion evaluativa 2
Leccion evaluativa 2Leccion evaluativa 2
Leccion evaluativa 2Diego Perdomo
 
CODETEC- Proyecto Final Taller de Investigacion 2
CODETEC- Proyecto Final Taller de Investigacion 2CODETEC- Proyecto Final Taller de Investigacion 2
CODETEC- Proyecto Final Taller de Investigacion 2Hugo Alberto Rivera Diaz
 
Seguridad en Dispositivos de Almacenamiento
Seguridad en Dispositivos de AlmacenamientoSeguridad en Dispositivos de Almacenamiento
Seguridad en Dispositivos de AlmacenamientoHugo Alberto Rivera Diaz
 

Viewers also liked (20)

Circuitos electricos
Circuitos electricosCircuitos electricos
Circuitos electricos
 
ADMINISTRACION DE BASE DE DATOS UNIDAD 1
ADMINISTRACION DE BASE DE DATOS UNIDAD 1ADMINISTRACION DE BASE DE DATOS UNIDAD 1
ADMINISTRACION DE BASE DE DATOS UNIDAD 1
 
Quiz 1 Métodos Numéricos
Quiz 1 Métodos NuméricosQuiz 1 Métodos Numéricos
Quiz 1 Métodos Numéricos
 
Presentación unidad 1 redes de computadores luisa ballén
Presentación unidad 1 redes de computadores luisa ballénPresentación unidad 1 redes de computadores luisa ballén
Presentación unidad 1 redes de computadores luisa ballén
 
Reporte-Instalando Windows Server 2012
Reporte-Instalando Windows Server 2012Reporte-Instalando Windows Server 2012
Reporte-Instalando Windows Server 2012
 
Unidad 1 lenguajes regulares
Unidad 1 lenguajes regularesUnidad 1 lenguajes regulares
Unidad 1 lenguajes regulares
 
Revision de Presaberes Metodos Numericos
Revision de Presaberes Metodos NumericosRevision de Presaberes Metodos Numericos
Revision de Presaberes Metodos Numericos
 
Practica Resistencias Valor Practico y Relativo
Practica Resistencias Valor Practico y RelativoPractica Resistencias Valor Practico y Relativo
Practica Resistencias Valor Practico y Relativo
 
Quiz 3 Metodos Numericos
Quiz 3 Metodos NumericosQuiz 3 Metodos Numericos
Quiz 3 Metodos Numericos
 
Metodo congruencial mixto en java
Metodo congruencial mixto en javaMetodo congruencial mixto en java
Metodo congruencial mixto en java
 
Revision de presaberes
Revision de presaberesRevision de presaberes
Revision de presaberes
 
52 rec1 301405
52 rec1 30140552 rec1 301405
52 rec1 301405
 
Fractales + Trangulo de Sierpinski en Java
Fractales + Trangulo de Sierpinski  en JavaFractales + Trangulo de Sierpinski  en Java
Fractales + Trangulo de Sierpinski en Java
 
Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.
 
Reconocimiento unidad 3 Metodos Numericos
Reconocimiento unidad 3 Metodos NumericosReconocimiento unidad 3 Metodos Numericos
Reconocimiento unidad 3 Metodos Numericos
 
Examen final Autómatas y Lenguajes Formales
Examen final Autómatas y Lenguajes FormalesExamen final Autómatas y Lenguajes Formales
Examen final Autómatas y Lenguajes Formales
 
Leccion evaluativa 2
Leccion evaluativa 2Leccion evaluativa 2
Leccion evaluativa 2
 
Leccion evaluativa 2
Leccion evaluativa 2Leccion evaluativa 2
Leccion evaluativa 2
 
CODETEC- Proyecto Final Taller de Investigacion 2
CODETEC- Proyecto Final Taller de Investigacion 2CODETEC- Proyecto Final Taller de Investigacion 2
CODETEC- Proyecto Final Taller de Investigacion 2
 
Seguridad en Dispositivos de Almacenamiento
Seguridad en Dispositivos de AlmacenamientoSeguridad en Dispositivos de Almacenamiento
Seguridad en Dispositivos de Almacenamiento
 

Similar to INTRODUCCIÓN TEORÍA LENGUAJES FORMALES

01. lenguajes de programación autor virtuniversidad
01. lenguajes de programación autor virtuniversidad01. lenguajes de programación autor virtuniversidad
01. lenguajes de programación autor virtuniversidadLuisBeltrnAlvinoAlva
 
01. Lenguajes de programación autor Virtuniversidad.pdf
01. Lenguajes de programación autor Virtuniversidad.pdf01. Lenguajes de programación autor Virtuniversidad.pdf
01. Lenguajes de programación autor Virtuniversidad.pdfrosalesjonathan2024
 
Trabajo practico libro2
Trabajo practico libro2Trabajo practico libro2
Trabajo practico libro2exequiel9035a
 
Tipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionTipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionMary Guaman
 
Tipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionTipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionGladysmg Lema
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programaciónOscar Delgado
 
Libro2 - PROGRAMACION2
Libro2 - PROGRAMACION2Libro2 - PROGRAMACION2
Libro2 - PROGRAMACION2gabrielalija10
 
Libro 2 - ORIGENES DE LA PROGRAMACION
Libro 2 - ORIGENES DE LA PROGRAMACIONLibro 2 - ORIGENES DE LA PROGRAMACION
Libro 2 - ORIGENES DE LA PROGRAMACIONGabriel Alija
 
T1. Introducción a la Teoría de Lenguajes Formales.pptx
T1. Introducción a la Teoría de Lenguajes Formales.pptxT1. Introducción a la Teoría de Lenguajes Formales.pptx
T1. Introducción a la Teoría de Lenguajes Formales.pptxRaulCasillas9
 
Tipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionTipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionMary Guaman
 
Tipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionTipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionMary Guaman
 
CLASIFICACION DE LENGUAJES DE PROGRAMACION
CLASIFICACION DE LENGUAJES DE PROGRAMACION CLASIFICACION DE LENGUAJES DE PROGRAMACION
CLASIFICACION DE LENGUAJES DE PROGRAMACION Katherine Parra
 
Lenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonLenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonalejandritasalva
 

Similar to INTRODUCCIÓN TEORÍA LENGUAJES FORMALES (20)

Introducción a la Gerencia Informática
Introducción a la Gerencia InformáticaIntroducción a la Gerencia Informática
Introducción a la Gerencia Informática
 
lenguajes de programacion
lenguajes de programacionlenguajes de programacion
lenguajes de programacion
 
01. lenguajes de programación autor virtuniversidad
01. lenguajes de programación autor virtuniversidad01. lenguajes de programación autor virtuniversidad
01. lenguajes de programación autor virtuniversidad
 
01. Lenguajes de programación autor Virtuniversidad.pdf
01. Lenguajes de programación autor Virtuniversidad.pdf01. Lenguajes de programación autor Virtuniversidad.pdf
01. Lenguajes de programación autor Virtuniversidad.pdf
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Trabajo practico libro2
Trabajo practico libro2Trabajo practico libro2
Trabajo practico libro2
 
Tipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionTipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacion
 
Tipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionTipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacion
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programación
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Libro2 - PROGRAMACION2
Libro2 - PROGRAMACION2Libro2 - PROGRAMACION2
Libro2 - PROGRAMACION2
 
Libro 2 - ORIGENES DE LA PROGRAMACION
Libro 2 - ORIGENES DE LA PROGRAMACIONLibro 2 - ORIGENES DE LA PROGRAMACION
Libro 2 - ORIGENES DE LA PROGRAMACION
 
T1. Introducción a la Teoría de Lenguajes Formales.pptx
T1. Introducción a la Teoría de Lenguajes Formales.pptxT1. Introducción a la Teoría de Lenguajes Formales.pptx
T1. Introducción a la Teoría de Lenguajes Formales.pptx
 
Tipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionTipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacion
 
Tipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionTipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacion
 
Kmi
KmiKmi
Kmi
 
CLASIFICACION DE LENGUAJES DE PROGRAMACION
CLASIFICACION DE LENGUAJES DE PROGRAMACION CLASIFICACION DE LENGUAJES DE PROGRAMACION
CLASIFICACION DE LENGUAJES DE PROGRAMACION
 
Lenguajes
LenguajesLenguajes
Lenguajes
 
Lenguajes
LenguajesLenguajes
Lenguajes
 
Lenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonLenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolon
 

More from LuiS YmAY

Transacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLTransacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLLuiS YmAY
 
Externalizacion e internacionalizacion de costos
Externalizacion e internacionalizacion de costosExternalizacion e internacionalizacion de costos
Externalizacion e internacionalizacion de costosLuiS YmAY
 
programacion.en android.joseluis.yama.may.isc.j4
programacion.en android.joseluis.yama.may.isc.j4programacion.en android.joseluis.yama.may.isc.j4
programacion.en android.joseluis.yama.may.isc.j4LuiS YmAY
 
Dispositivos logicos programables
Dispositivos logicos programablesDispositivos logicos programables
Dispositivos logicos programablesLuiS YmAY
 
conversores analogicos digitales y digitales analogico
conversores analogicos digitales y digitales analogicoconversores analogicos digitales y digitales analogico
conversores analogicos digitales y digitales analogicoLuiS YmAY
 
Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4LuiS YmAY
 
UNIDAD 4 DISEÑO DE BASE DE DATOS RELACIONAL
UNIDAD 4 DISEÑO DE BASE DE DATOS RELACIONALUNIDAD 4 DISEÑO DE BASE DE DATOS RELACIONAL
UNIDAD 4 DISEÑO DE BASE DE DATOS RELACIONALLuiS YmAY
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionLuiS YmAY
 
Tipos de servidores
Tipos de servidoresTipos de servidores
Tipos de servidoresLuiS YmAY
 
U7.resumen.ANALISIS DE LOS ALGORITMOS
U7.resumen.ANALISIS DE LOS ALGORITMOSU7.resumen.ANALISIS DE LOS ALGORITMOS
U7.resumen.ANALISIS DE LOS ALGORITMOSLuiS YmAY
 
UNIDAD 7 ANALISIS DE LOS ALGORITMOS
UNIDAD 7 ANALISIS DE LOS ALGORITMOSUNIDAD 7 ANALISIS DE LOS ALGORITMOS
UNIDAD 7 ANALISIS DE LOS ALGORITMOSLuiS YmAY
 
Fisica general.cinetica
Fisica general.cineticaFisica general.cinetica
Fisica general.cineticaLuiS YmAY
 
Programacion no lineaL
Programacion no lineaLProgramacion no lineaL
Programacion no lineaLLuiS YmAY
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOLuiS YmAY
 
Fisica.optica
Fisica.opticaFisica.optica
Fisica.opticaLuiS YmAY
 

More from LuiS YmAY (15)

Transacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLTransacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQL
 
Externalizacion e internacionalizacion de costos
Externalizacion e internacionalizacion de costosExternalizacion e internacionalizacion de costos
Externalizacion e internacionalizacion de costos
 
programacion.en android.joseluis.yama.may.isc.j4
programacion.en android.joseluis.yama.may.isc.j4programacion.en android.joseluis.yama.may.isc.j4
programacion.en android.joseluis.yama.may.isc.j4
 
Dispositivos logicos programables
Dispositivos logicos programablesDispositivos logicos programables
Dispositivos logicos programables
 
conversores analogicos digitales y digitales analogico
conversores analogicos digitales y digitales analogicoconversores analogicos digitales y digitales analogico
conversores analogicos digitales y digitales analogico
 
Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4
 
UNIDAD 4 DISEÑO DE BASE DE DATOS RELACIONAL
UNIDAD 4 DISEÑO DE BASE DE DATOS RELACIONALUNIDAD 4 DISEÑO DE BASE DE DATOS RELACIONAL
UNIDAD 4 DISEÑO DE BASE DE DATOS RELACIONAL
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacion
 
Tipos de servidores
Tipos de servidoresTipos de servidores
Tipos de servidores
 
U7.resumen.ANALISIS DE LOS ALGORITMOS
U7.resumen.ANALISIS DE LOS ALGORITMOSU7.resumen.ANALISIS DE LOS ALGORITMOS
U7.resumen.ANALISIS DE LOS ALGORITMOS
 
UNIDAD 7 ANALISIS DE LOS ALGORITMOS
UNIDAD 7 ANALISIS DE LOS ALGORITMOSUNIDAD 7 ANALISIS DE LOS ALGORITMOS
UNIDAD 7 ANALISIS DE LOS ALGORITMOS
 
Fisica general.cinetica
Fisica general.cineticaFisica general.cinetica
Fisica general.cinetica
 
Programacion no lineaL
Programacion no lineaLProgramacion no lineaL
Programacion no lineaL
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTO
 
Fisica.optica
Fisica.opticaFisica.optica
Fisica.optica
 

Recently uploaded

Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORGonella
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 

Recently uploaded (20)

Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 

INTRODUCCIÓN TEORÍA LENGUAJES FORMALES

  • 1. INSTITUTO TECNOLOGICO SUPERIOR DE FELIPE CARRILLO PUERTO INVESTIGACIÓN: U1 INTRODUCCIÓN A LA TEORÍA DE LENGUAJES FORMALES. D O C E N T E: Ing. Marcos Gaspar Pech Cruz. PRESENTA Angulo Estrella Jesús Alberto Lara Domínguez Efraín Yama May José Luis Tun Chulin Johnni Giovanni Canul Chan Rolando Estrada Canul Roger Alfredo Aula: J2 No. De Control 111K0030 No. De Control 111K0043 No. De Control 111K0056 No. De Control 111K0235 No. De Control 111K0231 No. De Control 111K0038 Grupo: B C A R R E R A: Ingeniería en sistemas computacionales M A T E R I A: Lenguajes Y Automatas Felipe Carrillo Puerto, Quintana Roo a 28 de Enero de 2014
  • 2. Introducción a la Teoría de Lenguajes Formales Contenido 1.1 ALFABETO ............................................................................................................................ 3 1.1. CADENA ......................................................................................................................... 3 1.3 LENGUAJES .......................................................................................................................... 4 1.4 TIPOS DE LENGUAJES.......................................................................................................... 4 1.5 HERRAMIENTAS COMPUTACIONALES LIGADAS CON LENGUAJES. ..................................... 6 1.6 ESTRUCTURA DE UN TRADUCTOR. ...................................................................................... 8 1.7 FASES DE UN COMPILADOR. ............................................................................................. 11 ITS Carrillo Puerto Lenguajes Y Autómatas 2 ISC-6B
  • 3. Introducción a la Teoría de Lenguajes Formales INTRODUCCIÓN TEORÍA DE LENGUAJES FORMALES. 1.1 ALFABETO Se llama alfabeto a un conjunto finito, no vacío, cuyos elementos se denominan “letras” o “símbolos”. Se denomina palabra a toda secuencia finita de letras formada con los símbolos de un alfabeto. Se definen los alfabetos por la enumeración de los símbolos que contiene. Un "símbolo" es una entidad abstracta. Las letras y los dígitos son ejemplos de símbolos usados con frecuencia. Se utilizan meta–símbolos (tal como {, }, =, y la coma) para escribir sobre lo que hablamos. Desde el contexto siempre será claro, si se trata de un símbolo del alfabeto o si se trata de un meta–símbolo. Usamos subíndices para distinguir diferentes alfabetos. Usamos normalmente las minúsculas como alfabeto S = {a, . . . , z}, en los ejemplos normalmente letras desde el principio del alfabeto. Cardinalidad del alfabeto (número de elementos del alfabeto): |S| > 0, |S| < 8 1.1. CADENA Una cadena (o palabra) es una secuencia finita de símbolos yuxtapuestos. Por ejemplo a, b y c son símbolos y casa es una cadena. La longitud de una cadena w que se denota como |w|, es el número de símbolos que componen la cadena. Por ejemplo casa tiene una longitud 4. Habitualmente, se emplean las letras minúsculas del principio del alfabeto (o dígitos) para designar a los símbolos y las letras minúsculas del final del alfabeto, normalmente w, x, y y z, para designar cadenas. La cadena vacía, denotada por E es aquella que presenta cero apariciones de símbolos, es una cadena que puede construirse en cualquier alfabeto. ITS Carrillo Puerto Lenguajes Y Autómatas 3 ISC-6B
  • 4. Introducción a la Teoría de Lenguajes Formales La concatenación de dos cadenas es la cadena que se forma al escribir la primera seguida de la segunda, sin que haya espacio entre ellas, Por ejemplo la concatenación de padre y madre es padremadre. La yuxtaposición se utiliza como el operador de concatenación. Esto es si w y x son cadenas, entonces wx es la concatenación de estas dos cadenas. La cadena vacía es la identidad para el operador de concatenación, es decir Ew=wE para cada cadena de w. 1.3 LENGUAJES Un lenguaje es un conjunto de cadenas, todas ellas seleccionadas de un subconjunto finito donde el conjunto es un determinado alfabeto. Es una forma de representar información basada en un conjunto finito de signos o símbolos. El conjunto vacío Ø y el conjunto formado por la cadena vacía { E } son lenguajes. El conjunto de palíndromos (cadenas que se leen igual de izquierda a derecha y viceversa) sobre el alfabeto {0,1} es un lenguaje infinito. Algunos elementos de este lenguaje son E, 0, 1, 00, 01,010, y 1101011. Por consiguiente vemos que el conjunto de todos los palíndromos sobre una colección finita de símbolos no es, técnicamente hablando, un lenguaje, porque sus cadenas no se construyen colectivamente a partir de un alfabeto. 1.4 TIPOS DE LENGUAJES Lenguajes de bajo nivel Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se puede migrar o utilizar en otras máquinas. Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las características del mismo. Dentro de este grupo se encuentran:  El lenguaje maquina: este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Consiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la máquina. Este lenguaje es mucho más rápido que los lenguajes de alto nivel. ITS Carrillo Puerto Lenguajes Y Autómatas 4 ISC-6B
  • 5. Introducción a la Teoría de Lenguajes Formales La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible.  El lenguaje ensamblador es un derivado del lenguaje máquina y está formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, añadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener. Lenguajes de alto nivel Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina. Están dirigidos a solucionar problemas mediante el uso de EDD's. Nota: EDD's son las abreviaturas de Estructuras Dinámicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa. Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin ningún tipo de problema. Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la máquina. Suelen usar tipos de datos para la programación y hay lenguajes de propósito general (cualquier tipo de aplicación) y de propósito específico (como FORTRAN para trabajos científicos). Lenguajes de Medio nivel Estos lenguajes se encuentran en un punto medio entre los dos anteriores. Dentro de estos lenguajes podría situarse C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel. Generaciones La evolución de los lenguajes de programación se puede dividir en 5 etapas o ITS Carrillo Puerto Lenguajes Y Autómatas 5 ISC-6B
  • 6. Introducción a la Teoría de Lenguajes Formales generaciones.  Primera generación: lenguaje máquina.  Segunda generación: se crearon los primeros lenguajes ensambladores.  Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol…  Cuarta generación. Son los lenguajes capaces de generar código por si solos, son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a objetos, haciendo posible la reutilización d partes del código para otros programas. Ej. Visual, Natural Adobe.  Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia artificial. Estos lenguajes todavía están poco desarrollados. Ej. LISP 1.5 HERRAMIENTAS COMPUTACIONALES LIGADAS CON LENGUAJES. Herramientas Desarrolladas En Programación De Sistemas  Editores de estructuras Un editor de estructuras toma como entrada una secuencia de órdenes para construir un programa fuente. El editor de estructuras no solo realiza las fuentes de creación y modificación de textos de un editor de textos ordinarios, sino que también analiza el texto del programa, imponiendo al programa fuente una estructura jerárquica apropiada. De esa manera el editor de estructuras puede realizar tareas adicionales útiles para la preparación de programas. Ejemplos: Editores de C, Pascal, Visual Studio (Fox Pro, Basic, etc.). Para desarrollar un programa en Fortran, el primer paso es obviamente, escribir el código fuente, utilizando un editor de texto disponible en la computadora y guardándolo en archivos texto de extensión .f, .f90, .f95, .for o de extensión que soporte el compilador y el sistema operativo de la computadora. En computadoras que funcionan bajo una versión de LINUX, lo usual que se utiliza, como editor de texto, es emacs. El Cornell Program Synthesizer (CPS). Es quizá el ejemplo más conocido y el más referenciado en la literatura. Ha servido de ejemplo para ITS Carrillo Puerto Lenguajes Y Autómatas 6 ISC-6B
  • 7. Introducción a la Teoría de Lenguajes Formales desarrollar otros. Permite programar en un subconjunto del lenguaje PL/I denominado PL/CS. Gandalf es un conjunto de varios subproyectos. Su objetivo principal fue crear un entorno completo de desarrollo de software, y no sólo un entorno de programación. Doxygen: Genera documentación de código C/C++ en forma de páginas web, incluyendo diversos índices, el código fuente coloreado e indexado, e incluso diagramas de dependencia entre módulos. Javadoc: Para lenguaje Java. Usa un formato prefijado de comentario para las descripciones, incluyendo marcas HTML embebidas y palabras clave introducidas con el símbolo @. Se generan documentos en forma de páginas web. AdaBrowse/AdaDoc/Ada2html: Son herramientas similares a las anteriores para código en lenguaje Ada. Igualmente generan páginas web. GVim es la versión para Windows del editor de Unix Vim, un editor para programadores altamente configurable. JEdit es un editor orientado a la programación. Komodo Edit es un editor para lenguajes dinámicos (Perl, PHP, Python, Ruby y TCL) y de páginas web (JavaScript, CSS, HTML y XML). Este programa es la versión libre de un programa comercial. Minimum Profit es un editor de texto para programadores. Notepad++ es un editor de código fuente para programadores basado en Scintilla para java y c.  Impresoras estéticas Una impresora estética analiza un programa y lo imprime de forma que la estructura del programa resulte claramente visible. Por ejemplo los comentarios pueden aparecer con un tipo de letra especial, y las proposiciones pueden aparecer con una indentación proporcional a la profundidad de su anidamiento en la organización jerárquica de las proposiciones. EJEMPLOS: Word, Excel, Power Point, Photoshop, etc.  Verificadores estáticos Un verificador estático lee un programa, lo analiza e intenta descubrir errores potenciales sin ejecutar el programa. La parte del análisis a menudo es similar a la que se encuentra en los compiladores de optimización así un verificador ITS Carrillo Puerto Lenguajes Y Autómatas 7 ISC-6B
  • 8. Introducción a la Teoría de Lenguajes Formales estático puede detectar si hay partes de un programa que nunca se podrán ejecutar o si cierta variable se usa antes de ser definida. Puede detectar errores de lógica, como intentar utilizar una variable real como apuntador, empleando las técnicas de verificación de tipos. Ejemplos: Editores de C y Pascal. Verificadores estáticos de sintaxis (como lint) permiten detectar muchos errores antes de la compilación. (Algo parecido a lo que se obtiene con la opción -fsyntax- only del compilador de GNU gcc).  Intérpretes: Un intérprete realiza las operaciones que implica el programa fuente. Para una proposición de asignación, por ejemplo, un intérprete podría construir un árbol y después efectuar las operaciones de los nodos con forme “recorre” el árbol. Muchas veces los intérpretes se usan para ejecutar lenguajes de órdenes, pues cada operador que se ejecuta en un lenguaje de órdenes suele ser una invocación de una rutina compleja, como un editor o un compilado Ejemplos: Los intérpretes (para lenguajes como Lisp o Basic, o para programas con sus propios lenguajes interpretados como Derive o Mathematica) Shells de sistemas operativos o de alguna aplicación como un SMBD. http://es.scribd.com/doc/159086023/Lenguajes-y-Automatas-i#download 1.6 ESTRUCTURA DE UN TRADUCTOR. Un traductor es un mediador entre dos entidades: emisoras y receptoras, los mediadores enmascaran la complejidad y heterogeneidad de los lenguajes. Un traductor convierte un lenguaje de entrada (código fuente) a una de salida (código objeto). Un traductor se define como un programa que traduce o convierte desde un texto o programa escrito en un lenguaje fuente hasta un texto o programa equivalente escrito en un lenguaje destino produciendo, si cabe, mensajes de error. Los traductores engloban tanto a los compiladores (en los que el lenguaje destino suele ser código máquina) como a los intérpretes (en los que el lenguaje destino está constituido por las acciones atómicas que puede ejecutar ITS Carrillo Puerto Lenguajes Y Autómatas 8 ISC-6B
  • 9. Introducción a la Teoría de Lenguajes Formales el intérprete). La figura 1.1 muestra el esquema básico que compone a un compilador/intérprete. Tipos de traductores. Compiladores Es aquel traductor que tiene como entrada una sentencia en lenguaje formal y como salida tiene un fichero ejecutable, es decir, realiza una traducción de un código de alto nivel a código máquina (también se entiende por compilador aquel programa que proporciona un fichero objeto en lugar del ejecutable final). Intérpretes Es como un compilador, solo que la salida es una ejecución. El programa de entrada se reconoce y ejecuta a la vez. No se produce un resultado físico (código máquina) sino lógico (una ejecución). Su principal ventaja es que permiten una fácil depuración. Entre los inconvenientes podemos citar, en primer lugar, la lentitud de ejecución, ya que al ejecutar a la vez que se traduce no puede aplicarse un alto grado de optimización. Otro inconveniente es que durante la ejecución, el intérprete debe residir en memoria, por lo que consumen más recursos. La figura 1.2 muestra los pasos a seguir en estos lenguajes para obtener una ejecución. ITS Carrillo Puerto Lenguajes Y Autómatas 9 ISC-6B
  • 10. Introducción a la Teoría de Lenguajes Formales En el proceso de traducción se identifican dos fases principales: Fase de Análisis Fase de Síntesis ITS Carrillo Puerto Lenguajes Y Autómatas 10 ISC-6B
  • 11. Introducción a la Teoría de Lenguajes Formales 1.7 FASES DE UN COMPILADOR. Definición de Compilador. Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, es decir programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (lenguaje máquina). Generando un programa equivalente a capaz de interpretar. FASES DE UN COMPILADOR. Análisis Léxico. En esta fase se lee los caracteres del programa fuente y se agrupan en cadenas que representan los componentes léxicos. A la secuencia ITS Carrillo Puerto Lenguajes Y Autómatas 11 ISC-6B
  • 12. Introducción a la Teoría de Lenguajes Formales de caracteres que representa un componente léxico se le llama lexema (o con su nombre en inglés token). Análisis Sintáctico. Los componentes léxicos se agrupan gramaticales que el compilador utiliza para sintetizar la salida. en frases Análisis Semántico. Intenta detectar instrucciones que tengan la estructura sintáctica correcta, pero que no tengan significado para la operación implicada. Generación de código Intermedio. Se puede considerar esta operación intermedia como un subprograma para una máquina abstracta, a esta representación debe tener dos propiedades importantes: debe ser fácil de producir y fácil de traducir al programa objeto. Optimización de Código. Se trata de mejorar el código intermedio, de modo que resulte un código de máquina más rápido de ejecutar. Generación de Código. Esta constituye la fase final de un compilador. Administrador de la tabla de símbolos. Se encarga de manejar los accesos a la tabla de símbolos, en cada una de las etapas de compilación de un programa. Manejador de errores. Es posible encontrar errores. De esta forma podrán controlarse más eficientemente los errores encontrados en cada una de las fases de la compilación de un programa.  Cada fase puede encontrar errores y debe tratarlo para continuar con la Compilación, permitiendo detectar más errores  Las fases de Análisis Sintáctico y Semántico manejan la mayoría de los errores  En el Análisis Semántico se detectan errores donde la estructura sintáctica es correcta pero no tiene significado la operación (Por. ej. sumar dos ID, donde uno es el nombre de una matriz y el otro un nombre de procedimiento). Programas Relacionados con un Compilador. Preprocesadores (producen la entrada para una computadora). Procesamiento de Macros Inclusión de archivos Preprocesadores “racionales” (estructura de control) Extensiones a lenguajes (bases de datos). Ensambladores Producen código ensamblador que se pasa a un ensamblador para su procesamiento (versión mnemotécnica del código de máquina: nombres de operaciones y nombres de direcciones de memoria). ITS Carrillo Puerto Lenguajes Y Autómatas 12 ISC-6B
  • 13. Introducción a la Teoría de Lenguajes Formales ITS Carrillo Puerto Lenguajes Y Autómatas 13 ISC-6B