Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
regulares
Las expresiones regulares pueden definir de forma exacta los mismos lenguajes que describen
los distintos tipos de autómatas: los lenguajes regulares. Sin embargo, las expresiones regulares
ofrecen algo que los autómatas no proporcionan: una forma declarativa para expresar las
cadenas que deseamos aceptar.
Algunos ejemplos son los siguientes
Como con otras álgebras, los operadores de las expresiones regulares tienen un
orden de “precedencia” prefijado, lo que significa que se asocian con sus
operan dos en un determinado orden. Estamos familiarizados con el concepto
de precedencia en las expresiones aritméticas ordinarias.
En las expresiones regulares,el orden de
precedencia de los operadores es el
siguiente:
1. El operador asterisco () es el de precedencia más alta. Es decir, se
aplica sólo a la secuencia más corta de símbolos a su izquierda que
constituye una expresión regular bien formada.
2. El siguiente en precedencia es el operador de concatenación, o
“punto”. Después de aplicar todos los operadores a sus operan dos,
aplicamos los operadores de concatenación a sus operan dos. Dado que
la concatenación es una operación asociativa, no importa en qué orden
se realicen las sucesivas concatenaciones, aunque si hay que elegir, las
aplicaremos por la izquierda. Por ejemplo, 012 se aplica así: (01)2.
3. Por último, se aplican todos los operadores de unión (+) a sus operan
dos. Dado que la unión también es asociativa, de nuevo no importa en
que orden se lleven a cabo, pero supondremos que se calculan
empezando por la izquierda.
Autómatas finitos y expresiones
regulares
Aunque las expresiones regulares describen los lenguajes de manera
completamente diferente a como lo hacen los autómatas finitos, ambas
notaciones representan exactamente el mismo conjunto de lenguajes,
que hemos denominado “lenguajes regulares”.
De los AFD a las expresiones regulares