miércoles, 28 de febrero de 2018

ESTRUCTURA DE UN TRADUCTOR

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

Herramientas computacionales ligadas con lenguajes

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.
COMPILADOR:

El compilador es un programa informático que traduce un programa escrito en lenguaje de programación y lo pasa a lenguaje de programación, podemos decir que este programa nos permite traducir un código fuente de un programa en lenguaje de nivel alto, y lo pasmos a otro nivel inferior (lenguaje maquina).







https://sites.google.com/site/teoriadelenguajesformaless/1-5-herramientas-computacionales
INTERPRETES:

Los interpretes son los que realizan normalmente dos operaciones:

Traducen el código fuente a un formato interno.

Ejecuta o interpretan el programa traducido al formato interno.

Donde la primera pertenece al interprete el cual llama a veces al compilador, así se genera el código interno, pero no es el lenguaje de maquina, ni lenguaje de símbolos, ni mucho menos un lenguaje de nivel alto.



http://10380054.galeon.com/u1.htm




ENSAMBLADORES:

El ensamblador es el programa en que se realiza la tracción de un programa escrito en ensamblador y lo pasa a lenguaje maquina. Directa o no directa la traducción en que las instrucciones no son mas que instrucciones que ejecuta la computadora.








https://sites.google.com/site/teoriadelenguajesformaless/1-6-estru

miércoles, 31 de enero de 2018

MAPA MENTAL


https://www.goconqr.com/es-ES/mind_maps/12064970/edit

LENGUAJES







Un lenguaje $ L$ es un conjunto de cadenas sobre un alfabeto $ \Sigma$ definido, éstas pueden ser cualquier cadena $ w$, que cumpla con lo siguIente, $ w$ esta formada por los símbolos $ \sigma_1\sigma_{2}\ldots\sigma_{k}$ donde $ \sigma_k \in \Sigma\ \forall k$.

El lenguaje vacío es aquel que no contiene cadenas y no es lo mismo que el lenguaje formado por la cadena vacía $ \{\varepsilon\}$, éste lenguaje se denota de la misma manera que el conjunto vacío, $ \emptyset$.
Sí se tiene una cadena $ w$ sobre un alfabeto $ \Sigma$ y $ L$ es el lenguaje compuesto por algunas de las cadenas sobre el alfabeto $ \Sigma$ y $ w \in L$, entonces diremos que $ w$ es un miembro de $ L$.


   Un lenguaje universal sobre algún alfabeto $ \Sigma$, o cerradura de $ \Sigma$, es el lenguaje que contiene todas las cadenas que es posible formar con los símbolos de $ \Sigma$ y se denota como $ \Sigma^*$.

Ejemplo: Sea $ \Sigma=\{a\}$, entonces $ \Sigma^*=\{\varepsilon,a,aa,aaa,\ldots\}.
$
Podemos observar que para cualquier alfabeto $ \Sigma$$ \Sigma^*$ es infinito, ya que los alfabetos son conjuntos no vacíos.

PALABRAS O CADENA









Una cadena o palabra es una secuencia finita de símbolos que pertenecen a un alfabeto y comunmente se denota con la letra $ w$. La cadena vacía se denota como $ \varepsilon$ y es una secuencia vacía de símbolos tomados de cualquier alfabeto $ \Sigma$.

Sí el alfabeto es el español, algunas cadenas pueden ser $ yomero$$ tumero$ y $ malnacido$. Dada la definición anterior, cualquier palabra que contenga los símbolos del alfabeto es una cadena válida, sin importar si esta tiene o no significado alguno.
Si $ w$ es cualquier cadena, su longitud se denota como $ \vert w\vert$, la longitud de una cadena es el número de símbolos que contiene, por ejemplo, si tenemos la cadena $ w=malnacido$ sobre el alfabeto español, $ \vert w\vert=9$. La cadena vacía $ \varepsilon$ no tiene símbolos, por lo que $ \vert\varepsilon\vert=0$

ALFABETO

                                          Alfabeto

Definición (Alfabeto):

Conjunto finito, no vacío, de elementos.
Generalmente usaremos Σ para especificar alfabetos y los elementos los denominaremos “letras” o “símbolos”.

Ejemplos:

los alfabetos español, inglés, o alemán

Σ1={0,...,9}, 0∈Σ1

Σ2={x | x es un símbolo del código ASCII}

Σ3={(, )}

Σ4={1, A, 2, B}

Σ5={a, b, c, d}

Σ6={}

Σ7=ℵ

Definición (Palabra):

Sea un alfabeto Σ. Una palabra sobre Σ es una secuencia finita de las letras de ese alfabeto.
La secuencia vacía representa la palabra vacía y la anotamos con λ.

Ejemplos: sobre Σ5 ={a,b,c,d}: λ, a, b, c, d, abc, aab, dcba, ... sobre Σ1 ={0,...,9}: λ, 0, 0000, 010, 9980, ... sobre Σ3 ={(,)} λ, (, ), (), (()()), )())), ...

Definición (Longitud de una palabra):

Se llama longitud de una palabra x, y se representa por |x|, al número de símbolos que la componen.

Ejemplos: sobre Σ5 ={a,b,c,d}: |λ|=0, |a|=1, |abc|=3

Definición (Concatenación):

Sean dos palabras x e y definidas sobre el alfabeto Σ. La concatenación de x e y, denominada “xy”, es una palabra que contiene todos los símbolos (de derecha a izquierda) de x seguidos de los símbolos de y (de derecha a izquierda).
Sean x=A1A2...An e y=B1B2...Bm con Ai, Bi ∈ Σ: ⇒ xy= A1A2...AnB1B2...Bm

Ejemplos: x =abc, y =da, definidos sobre Σ={a,b,c,d} xy=abcda ; |xy|=|x|+|y|=5

Definición (Potencia):

Sea i un número natural, y x una palabra. La potencia i-ésima de x, denominada xi, es la operación que consiste en concatenarla consigo misma i veces.

Ejemplos: x =abc ⇒ x1=abc x2=abcabc x3=abcabcabc

Definición (Palabra inversa):

Sea x=A1A2...An con Ai∈Σ una palabra sobre el alfabeto Σ. Se llama palabra refleja o inversa de x, y se representa por x-1, a la palabra AnAn-1...A1. Si x=λ entonces x-1=λ.

Ejemplos: x =abc ⇒ x-1=cba

Definición (Lenguaje universal):
Sea Σ un alfabeto. El lenguaje universal de Σ es el conjunto formado por todas las palabras que se pueden formar con las letras de Σ. Representamos dicho lenguaje con W(Σ).
Ejemplos: 
Σ1 ={a} ⇒ W(Σ1)={λ, a, aa, aaa, ...}

Definición (Lenguaje):
Sea un alfabeto Σ. Un lenguaje L sobre Σ es cualquier subconjunto del lenguaje universal W(Σ).
Ejemplos: Σ1 ={a} ⇒ W(Σ1)={λ, a, aa, aaa, ...} L1 ={a} ⊆ W(Σ1) L2 ={} ⊆ W(Σ1) (L2 = ∅) L3 =Σ1 ⊆ W(Σ1) L4 =W(Σ1) ⊆ W(Σ1) L5 ={λ} ⊆ W(Σ1) (Nota: L5≠L2) L6 ={λ, a, aaa, aaaaa} ⊆ W(Σ1) L7 ={λ, a, aaa, aaaaa, ...} ⊆ W(Σ1)
Hay lenguajes finitos, infinitos y vacíos.