Mapa Mental Cerebro
CESAR RZ
Created on August 29, 2024
More creations to inspire you
A2 - ABENTEUER AUTOBAHN
Horizontal infographics
STEVE JOBS
Horizontal infographics
OSCAR WILDE
Horizontal infographics
TEN WAYS TO SAVE WATER
Horizontal infographics
NORMANDY 1944
Horizontal infographics
BEYONCÉ
Horizontal infographics
DEMOCRATIC CANDIDATES NOV DEBATE
Horizontal infographics
Transcript
Definicion
Caracteristicas
Cadena
Definicion
Ejemplos y Usos
Propiedades
Alfabeto
Definicion
Caracteristicas
Cadena Vacía
Estructura de un Traductor
Componentes
Ejemplos
Definicion
Fases de un Compilador
Síntesis
Análisis
Lenguajes
Tipos de Lenguajes
Definicion
LENGUAJES FORMALES
Bibliografías
- RicardoGeek. (2016). Fases del compilador. 3-09-21, de ricardogeek.com Sitio web:https://ricardogeek.com/fases-del-compilador/
- Aho, A. V., Sethi, R., & Ullman, J. D. (1990). Compiladores: principios, técnicas y herramientas. Pearson Educación.
Un lenguaje es un conjunto de cadenas, todas las cuales están compuestas de símbolos que pertenecen a un alfabeto específico.
DEFINICION DE lenguaje
¡Ojo! En Genially utilizamos AI (Awesome Interactivity) en todos nuestros diseños, para que subas de nivel con interactividad y conviertas tu contenido en algo que aporta valor y engancha.
¿Sabías que... Retenemos un 42% más de información cuando el contenido se mueve? Es quizá el recurso más efectivo para captar la atención de tu audiencia.
COMPONENTES
Una cadena es una secuencia finita de símbolos seleccionados de un alfabeto dado.
CADENA
Un alfabeto es un conjunto finito de símbolos o caracteres que se utilizan en la formación de cadenas o palabras.
DEFINICION DE ALFABETO
∑= {0,1}
- Naturales: Lenguajes que evolucionan naturalmente en sociedades humanas para la comunicación, como el inglés, español, etc.
- De Programación: Lenguajes diseñados para la creación de programas de software, como Python, Java y C.
- Formales: Lenguajes que se definen con reglas formales o gramáticas. Son utilizados principalmente en informática y lingüística computacional.
TIPOS DE LENGUAJES
Propiedades
- Conjunto Finito
- Conjunto No Vacío
- Símbolos Únicos
- Usabilidad de los Símbolos
- Flexibilidad
- Longitud de Cadenas
Un traductor es un tipo de programa que convierte el código fuente escrito en un lenguaje de programación a otro código o a un código de máquina que puede ser ejecutado por un computador.
DEFINICION DE TRADUCTOR
Cadena vacias
Son secuencias de caracteres que no contienen ningun caracter visible. Puede representarse como, "",' ' o null en algunos casos
Generación de código intermedio Tarea: Transforma el programa fuente en una representación intermedia, facilitando la optimización y posterior traducción al código máquina. Salida: Código intermedio, como "código de tres direcciones". Optimización de código Tarea: Mejora el código intermedio para producir un código de destino más eficiente en términos de velocidad, tamaño o consumo de recursos. Salida: Código intermedio optimizado, listo para la generación de código final. Generación de código Tarea: Traduce la representación intermedia al código de máquina de la máquina destino. Salida: Instrucciones en lenguaje de máquina específicas para la arquitectura del procesador.
Síntesis
- GCC (GNU Compiler Collection)
- Clang
- Java
- Intérpretes de Python y Ruby
Caracteristicas
1. Inmutabilidad: En muchos lenguajes de programación, las cadenas son inmutables, lo que significa que una vez creada una cadena,su contenido no puede ser cambiado. Si se necesita modificar una cadena, en realidad se crea una nueva cadena con el contenido modificado. 2. Tipos de uso: Las cadenas se utilizan para almacenar y manipular texto.3. Operaciones comunes:
- Concatenación
- Subcadena
- Búsqueda
- Longitud
- Comparación
- Binario: {0, 1}
- Alfabético: {a, b, c, ..., z}
- Alfanumérico: {0, 1, ..., 9, a, b, ..., z}
EJEMPLOS
- Léxico: Tokenización del texto fuente en componentes léxicos (tokens).
- Sintáctico: Construcción del árbol sintáctico (parse tree) que representa la estructura gramatical del programa basándose en la gramática del lenguaje.
- Semántico: Análisis del árbol sintáctico para asegurarse de que el código tiene sentido desde el punto de vista semántico (por ejemplo, verificación de tipos, alcance de las variables).
ANáLISIS (Front-End)
Caracteristicas
1. Uso: • Las cadenas vacías son útiles para inicializar variables • Se utilizan como valores predeterminados o iniciales• Son importantes en algoritmos que manipulan cadenas2. Propiedades:• La longitud de una cadena vacía es 0. • Son consideradas como "falsy" en muchos lenguajes de programación,3. Comparación: • Una cadena vacía es diferente de null o None.Una cadena vacía es un valor existente, pero sin caracteres.• En la comparación con otras cadenas, una cadena vacía es siempre menor