Want to make creations as awesome as this one?

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

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

  1. GCC (GNU Compiler Collection)
  2. Clang
  3. Java
  4. 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