Lenguajes y Automatas

Plan your website and create the next important tasks for get your project rolling

Get Started. It's Free
or sign up with your email address
Rocket clouds
Lenguajes y Automatas by Mind Map: Lenguajes y Automatas

1. Subcadena

1.1. Una cadena x , se dice que es una subcadena de la cadena B.

1.2. Ejemplo

1.2.1. {cadena B=0100001} (subcadena )x=100,001,01,0).

2. Cadenas

2.1. definición

2.1.1. es una secuencia finita de simbolo de un determinado alfabeto

2.2. ejemplos

2.2.1. abcd es una cadena del alfabeto {a,b,c,d,e,0,1,2,3,4,5,6,+,*,#}

2.2.2. 000111 es una cadena del alfabeto {0,1}

3. Alfabeto

3.1. definición

3.1.1. Conjunto finito y no vacío cuyos elementos se denominan símbolos. Para designarlo se utilizan letras mayúsculas del alfabeto griego, especialmente Σ y Γ.

3.2. ejemplos

3.2.1. A,B,C,D,E,F..............X,Y,Z

3.2.2. O,1

3.2.3. a,b,c,d,e,0,1,2,3,4,5,6,+,*,#

4. Estructura de Traductor

4.1. Traductor

4.1.1. Herramienta que permite traducir un codigo fuente escrito en lenguaje de alto nivel a lenguaje maquina.

4.1.2. Tipos

4.1.2.1. Compilador

4.1.2.1.1. Toma un programa fuente escrito en lenguaje de alto nivel y lo traduce a un programa escrito a bajo nivel

4.1.2.2. Interprete

4.1.2.2.1. analiza linea por linea y lo traduce y genera una accion

5. Tipos de Lenguajes

5.1. Lenguaje Maquina

5.1.1. Son aquéllos que están escritos en lenguajes directamente inteligibles por la máquina (computadora), ya que sus instrucciones son cadenas binarias ( 0 y 1).

5.2. Lenguaje de Bajo Nivel

5.2.1. Son más fáciles de utilizar que los lenguajes máquina, pero al igual que ellos, dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador

5.3. Lenguaje de Alto Nivel

5.3.1. Son aquellos que se encuentra más cercano a lenguaje humano que lenguaje maquina

6. Fases de un Compilador

6.1. Analizador Léxico

6.1.1. Esta fase se encarga de verificar si una cadena de entrada del código fuente pertenece o no al lenguaje, es decir se realiza un análisis símbolo a símbolo indicando el tóken para cada una de las cadenas reconocidas o un error en caso de no reconocer la cadena.

6.2. Analizador Sintático

6.2.1. En esta fase se analiza la estructura de las expresiones en base a gramáticas en base a reglas que determinar si una cadena de entrada del código fuente es valida.

6.3. Analizador Semántico

6.3.1. Este análisis es mucho mas difícil de formalizar que el sintáctico ya que tiene que verificar que el árbol sintáctico tenga un significado valido dentro de las reglas especificadas en el lenguaje.

6.4. Generador de Código Intermedio

6.4.1. Esta fase se ocupa de generar instrucciones para la maquina virtual genérica a partir del análisis de las primeras tres fases.

6.5. Optimizador de Código

6.5.1. Se encarga de transformar el código intermedio en uno equivalente que tenga menos lineas de código de menor tamaño y menor tiempo de ejecución

6.6. Generador de Código

6.6.1. Es la fase final en la que se genera el código objeto el cual utiliza el conjunto de instrucciones especifico del CPU que por lo general es código maquina o código en lenguaje ensamblador.

7. Lenguaje

7.1. Es un conjunto de palabras sobre un alfabeto determinado, para designarlos se usa la letra L con subíndices si es necesario, y otras letras mayúsculas del alfabeto latino.

7.2. Ejemplos

7.2.1. Lenguaje sobre alfabeto {0,1} (vacio,0,1,00,11,010,11111 etc.)