Ir al contenido principal

Entradas

Mostrando las entradas de octubre, 2024

Componentes léxicos, patrones y lexemas

 Son fundamentales para el análisis léxico. Aquí tienes una descripción detallada: Lexemas Los lexemas son las secuencias de caracteres en el código fuente que coinciden con un patrón. Por ejemplo, en la expresión int x = 10;, los lexemas serían int, x, =, 10, y ;. Patrones Los patrones son las reglas que definen cómo se deben formar los lexemas. Estos patrones se describen generalmente usando expresiones regulares. Por ejemplo, un patrón para un identificador en muchos  lenguajes de programación podría ser una letra seguida de una secuencia de letras ...

Funciones del analizador lexico

Tokenización : Divide el código fuente en unidades más pequeñas llamadas tokens. Estos tokens pueden ser palabras clave, identificadores, operadores, literales, etc. En términos de autómatas, esto implica reconocer patrones específicos en la cadena de entrada. Eliminación de Espacios en Blanco y Comentarios : Ignora los espacios en blanco y los comentarios en el código fuente, ya que no son necesarios para la sintaxis del lenguaje. Esto simplifica el análisis posterior. Reconocimiento de Patrones : Utiliza autómatas finitos (deterministas o no deterministas) para identificar y clasificar lo...

Automatas AFN

 Primer automata AFN: abracadabra Segundo automata AFN: odontologo Tercer automata AFN: protocolo Cuarto automata AFN: exelente

El lenguaje de un AFN

Definición propia:  Un Autómata Finito No Determinista (AFN) acepta una a medida que lees los caracteres puedes elegir cualquier camino posible entre los estados. Lo importante es que puedas llegar desde el estado inicial hasta uno de los estados de aceptación. No importa si hay otras opciones se usan los mismos caracteres. Lo que cuenta es que haya al menos un camino que lleve a un estado de aceptación para que  sea aceptado por el AFN. Definición Original: Como hemos sugerido, un AFN acepta una cadena w si es posible elegir cualquier secuencia de opciones del estado siguiente, a medida que se leen los caracteres de w, y se pasa del estado inicial a cualquier estado de aceptación. El hecho de que otras opciones que empleen los símbolos de entrada de w lleven a un estado de no aceptación, o no lleven a ningún estado en absoluto (es decir, la secuencia de estados “muertos”), no impide que w sea aceptada por el AFN como un todo.

Mapa Mental AFD

 

Expreción Regular

Una expresión regular (abreviada como regex o regexp), a veces denominada expresión racional, es una secuencia de caracteres que especifica un patrón de coincidencia en el texto. Por lo general, estos patrones son utilizados por algoritmos de búsqueda de cadenas para operaciones de búsqueda o búsqueda y reemplazo de cadenas, o para validación de entradas. Las técnicas de expresión regular se desarrollan en informática teórica y teoría del lenguaje formal. El concepto de expresiones regulares comenzó en la década de 1950, cuando el matemático estadounidense Stephen Cole Kleene formalizó el concepto de lenguaje regular. Se volvieron de uso común con las utilidades de procesamiento de textos de Unix. Desde la década de 1980 han existido diferentes sintaxis para escribir expresiones regulares, una es el estándar POSIX y otra ampliamente utilizada es la sintaxis Perl.

Programa - Automata (ab)*c+(ac)*b+c

 

Automata (ab)*c+(ac)*b+c

 

Regular Exprecion

A  regular expression  (shortened as  regex  or  regexp ),sometimes referred to as  rational expression , is a sequence of  characters  that specifies a  match pattern  in  text . Usually such patterns are used by  string-searching algorithms  for find or find and replace operations on  strings , or for input validation. Regular expression techniques are developed in  theoretical computer science  and  formal language  theory. The concept of regular expressions began in the 1950s, when the American mathematician Stephen Cole Kleene formalized the concept of a  regular language . They came into common use with u nix  text-processing utilities. Different  syntaxes  for writing regular expressions have existed since the 1980s, one being the  POSIX  standard and another widely used being the  Perl  syntax.