Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

LENGUAJES Y AUTOMATAS 1

No description
by

Angie Vazquez Lopez

on 22 November 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of LENGUAJES Y AUTOMATAS 1

LENGUAJES Y AUTOMATAS 1

INSTITUTO TECNOLOGICO DEL ISTMO
PRESENTAN:
ANGELICA VAZQUEZ LOPEZ 11190025
ENOEL ESCUDERO SANCHEZ 10190033
NANCY LIZBETH AVENDAÑO MENDEZ 10190814
PRIMERA UNIDAD INTRODUCCION A LA TEORIA DE LENGUAJES FORMALES
1.1 ALFABETOS
1.2 CADENAS
1.3 LENGUAJES
1.4 TIPOS DE LENGUAJES
1.5 HERRAMIENTAS COMPUTACIONALES LIGADAS CON LENGUAJES
1.6 ESTRUCTURA DE UN TRADUCTOR
1.7 FASES DE UN COMPILADOR
1.1 ALFABETO
Conjunto no vacío y finito de símbolos. Para definir que un símbolo "a" pertenece a un alfabeto V, se utiliza la siguiente notación a ÃŽV.
Los alfabetos se definen por enumeración de los símbolos que contienen, podemos ver los siguientes ejemplos:
• V1={A,B,C,D,E,F,…..,X,Y,Z}
• V2={a,b,c,d,0,1,2,3,4,*,#,+}
• V3={0,1}
• V4={if, then, begin, end, else, a,b,;,=,>}

1.2 CADENA
1.3 LENGUAJES
En Informática Conjunto de signos y reglas que permite la comunicación con un ordenador
Podemos expresarlo de manera más sencilla como un conjunto de palabras ó cadenas de símbolos (palabras, oraciones, textos o frases) de un determinado alfabeto.

CADENA VACÍA
Se denomina cadena vacía, que no tiene símbolos y se denota con l, por lo que su longitud es :
| l | ® 0
CONCATENACIÓN DE CADENAS
Sean A y B dos cadenas cualesquiera, se denomina concatenación de A y B a una nueva cadena AB constituida por los símbolos de la cadena A seguidos por los de la cadena B.
El elemento neutro de la concatenación es l:
A l = lA = A

LONGITUD DE CADENA
La longitud de una cadena consiste en el número de símbolos pertenecientes a la cadena. Ejm. Tomando en cuenta los ejemplos de cadena podemos decir que:
• |abcb| es de longitud 4
• |a + 2*b| es de longitud 5
• |000111| es de longitud 6
• |if a>b then a=b;| es de longitud 9

LENGUAJE VACÍO
Existe un lenguaje denominado lenguaje vacío, que es un conjunto vacío y que se denota por {Ø}. El lenguaje vacío no debe confundirse con un lenguaje que contenga una sola cadena, y que ésta sea la cadena vacía, es decir {l}, ya que el número de elementos (cardinalidad) de estos dos conjuntos es diferente.
Cardinal ({ Ø }) = 0
Cardinal ({ l }) = 1

1.4 TIPOS DE LENGUAJES
Podemos encontrar varios tipos de lenguajes:
* Lenguajes declarativos
* Lenguajes de alto nivel
* Lenguajes ensambladores
* Lenguajes máquina

LENGUAJES DECLARATIVOS:
son los más parecidos al castellano o inglés en su potencia
expresiva y funcionalidad y están en el nivel más alto respecto a los otros. Son
fundamentalmente lenguajes de órdenes, dominados por sentencias que expresan “lo que hay que hacer” en vez de “cómo hacerlo”.

LENGUAJE DE ALTO NIVEL:
son los más utilizados como lenguajes de programación.
Aunque no son fundamentalmente declarativos, estos lenguajes permiten que los
algoritmos se expresen en un nivel y estilo de escritura fácilmente legible y
comprensible por otros programadores. Además, los lenguajes de alto nivel suelen
tener la característica de “transportabilidad”.

LENGUAJES ENSAMBLADORES Y LENGUAJES DE MAQUINA:
Cada tipo de máquina tiene su propio lenguaje máquina distinto y su
lenguaje ensamblador asociado. El lenguaje ensamblador es simplemente una
representación simbólica del lenguaje máquina asociado, lo cual permite una
programación menos tediosa que con el anterior

1.5 HERRAMIENTAS COMPUTACIONALES LIGADAS CON LENGUAJES
* Editores de estructuras
* Verificadores estáticos
* Impresoras estéticas
* Intérpretes
COMPILADOR CONVENCIONAL
* Formadores de textos
* Intérpretes de consultas

1.6 ESTRUCTURA DE UN TRADUCTOR
Un traductor es un programa que tiene como entrada un texto escrito en un lenguaje (lenguaje fuente) y como salida produce un texto escrito en un lenguaje (lenguaje objeto) que preserva el significado de origen.
Ejemplos de traductores son los ensambladores y los compiladores.

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

* Fase de análisis

* Fase de Síntesis


ENSAMBLADORES.

El programa ensamblador es el programa que realiza la traducción de un programa escrito en ensamblador a lenguaje máquina.
Tipos de ensambladores
* Ensambladores básicos.
* Ensambladores modulares, o macro ensambladores
* Ensambladores modulares 32-bits o de alto nivel

COMPILADORES.
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).

Estructura de un Compilador.

Cualquier compilador debe realizar dos tareas principales: análisis del programa a compilar y síntesis de un programa en lenguaje máquina. Para el estudio de un compilador, es necesario dividir su trabajo en fases.
Componentes en que se divide un compilador:
*Análisis Léxico
*Análisis Sintáctico
*Análisis Semántico
*Generación de código Intermedio
*Optimización de Código
*Generación de Código
*Administrador de la tabla de símbolos
*Manejador de errores

1.7 FASES DE UN COMPILADOR
Un compilador opera en fases, cada una de las cuales transforma al programa fuente de una representación en otra y nos propone la siguiente estructura
*Analizador léxico
*Analizador sintáctico y semántico
*Generación de código intermedio
*Optimización de código
*Generación de código

Based on Jim Harvey's speech structures
Una cadena es una secuencia finita de símbolos de un determinado alfabeto.
Ejm. Tomando en cuenta los alfabetos o vocabularios definidos anteriormente, podemos decir que:
abcb es una cadena del alfabeto V2
a+2*b es una cadena del alfabeto V2
000111 es una cadena del alfabeto V3
If a>b then b=a; es una cadena del alfabeto V4
Full transcript