Please enable JavaScript.
Coggle requires JavaScript to display documents.
Descriptor del Lenguaje. Lectura 6 - Coggle Diagram
Descriptor del Lenguaje. Lectura 6
Definición
¿Qué es un lenguaje?
Conjunto de cadenas (strings).
Formado por símbolos de un alfabeto.
Puede ser finito o infinito.
Una cadena es válida si pertenece al lenguaje.
Conceptos básicos
Alfabeto (Σ)
Símbolos
Cadenas (strings)
Cadena vacía (ε)
Lenguaje (L)
Métodos para Describir un Lenguaje
Descripción Matemática Directa
Enumeración
Descripción algebraica
Descripción por propiedades
Expresiones Regulares
Método textual para describir lenguajes.
Basadas en patrones.
Definen conjuntos de cadenas válidas.
Muy utilizadas en búsqueda y validación de texto.
Operaciones principales
Unión ( | )
Concatenación ( . )
Cerradura de Kleene ( * )
Aplicaciones
Búsqueda de texto.
Reemplazo de cadenas.
Validación de entradas.
Procesamiento de información.
Gramáticas Formales
¿Qué son?
Conjunto de reglas para generar expresiones válidas.
Describen la estructura de un lenguaje.
Generan únicamente cadenas correctas.
Componentes
Terminales
No terminales
Producciones
Símbolo inicial
Árboles de Sintaxis
Propósito
Representar visualmente la estructura de un programa.
Mostrar cómo una expresión es generada por la gramática.
Facilitar el análisis sintáctico.
Ejemplo
Expresiones matemáticas.
Operaciones aritméticas.
Construcción de programas.
Gramáticas Regulares
Características
Generan lenguajes regulares.
Utilizan reglas simples de producción.
Pueden ser derechas o izquierdas.
Aplicaciones
Valores numéricos.
Identificadores de variables.
Tokens básicos de programación.
Gramáticas Libres de Contexto (CFG)
Función
Describen estructuras más complejas.
Permiten definir expresiones aritméticas.
Son la base de muchos lenguajes de programación.
Elementos
Terminales (símbolos finales).
No terminales (subexpresiones).
Producciones.
Símbolo inicial.
BNF (Backus-Naur Form)
Características
Notación estándar para describir lenguajes.
Utilizada en manuales y especificaciones.
Basada en gramáticas libres de contexto.
Ventajas
Claridad.
Formalidad.
Facilidad de implementación.