Construyendo expresiones regulares - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

Construyendo expresiones regulares

Description:

Alternaci n: dadas dos expresiones regulares M y N, ... Repetici n: Dada una expresi n regular M, su cerradura de. Kleene es M ... – PowerPoint PPT presentation

Number of Views:324
Avg rating:3.0/5.0
Slides: 16
Provided by: homeGa
Category:

less

Transcript and Presenter's Notes

Title: Construyendo expresiones regulares


1
Construyendo expresiones regulares
Repetición Dada una expresión regular M, su
cerradura de Kleene es M. Una cuerda está en M
si es la concatenación de cero o más cuerdas,
todas pertenecientes a M. a
"", "a", "aa", "aaa", ...
2
Abreviaturas usadas en esta clase
A las cuerdas les llamamos strings.
Omitimos el símbolo de concatenación.
Omitimos el símbolo de epsilon.
Asumimos que la cerradura de Kleene tiene
precedencia sobre la concatenación.
Asumimos que la concatenación tiene precedencia
sobre la alternación.
3
Abreviaturas usadas en esta clase
A las cuerdas les llamamos strings.
Omitimos el símbolo de concatenación.
Omitimos el símbolo de epsilon.
Asumimos que la cerradura de Kleene tiene
precedencia sobre la concatenación.
Asumimos que la concatenación tiene precedencia
sobre la alternación.
4
Abreviaturas usadas en esta clase
A las cuerdas les llamamos strings.
a ? b ??c
abc
Omitimos el símbolo de epsilon.
Asumimos que la cerradura de Kleene tiene
precedencia sobre la concatenación.
Asumimos que la concatenación tiene precedencia
sobre la alternación.
5
Abreviaturas usadas en esta clase
A las cuerdas les llamamos strings.
a ? b ??c
abc
( a ? ) ( a )
Asumimos que la cerradura de Kleene tiene
precedencia sobre la concatenación.
Asumimos que la concatenación tiene precedencia
sobre la alternación.
6
Abreviaturas usadas en esta clase
A las cuerdas les llamamos strings.
a ? b ??c
abc
( a ? ) ( a )
ab
a ??(b)
Asumimos que la concatenación tiene precedencia
sobre la alternación.
7
Abreviaturas usadas en esta clase
A las cuerdas les llamamos strings.
a ? b ??c
abc
( a ? ) ( a )
ab
a ??(b)
ab c (a
??b) c
8
Más abreviaturas
abcd ( a b c d)
b -g bcdefg
b -gM -Qkr bcdefgMNOPQkr
M? ( M ? )
M M ? M
9
En resumen
a un caracter ordinario. ? El string
vacío. Otra forma de escribir el string
vacío. M N Alternación, elegir M o N. M ?
N Concatenación, M seguida de N MN Otra
forma de escribir concatenación. M Repetici
ón (cero o más veces). M Repetición (una o
más veces) M? Opcional, cero o una
ocurrencia de M. a -zA -Z Alternación de un
conjunto de caracteres. . Un punto
sustituye cualquier caracter excepto nueva
línea. "a." Strings entre comillas no son
interpretados.
10
Algunos ejemplos
( 0 1 ) ??0 Números binarios múltiplos de
2. babba? Strings de a's y b's sin a's
consecutivas. abaaab Strings de a's y
b's que contienen a's consecutivas. (012
3456789) Un dígito. dígito ? dígito Un
entero positivo (posint). -?posint Un entero
(int). int (. posint)? Un real
11
Analizadores Léxicos
Con cuál regla hace match el string "if8"?
Con cuál regla hace match el string "if 8"?
Necesitamos un par de reglas más!
12
Dos reglas más
13
Ahora sí
if8 por match más largo ID if 8 por
prioridades IF NUM
14
Pregunta
  • Qué expresión regular hace match con los números
    desde 0 hasta 256 y nada más?

15
Cómo reconocemos RE's?
La expresiones regulares son útiles para
describir strings, pero necesitamos reconocerlos.
Esta es la diferencia entre conocimiento
declarativo (qué es) y conocimiento imperativo
(cómo hacerlo).
Así que usamos expresiones regulares para
describir los strings, pero usamos automata
finitos para reconocerlos.
Write a Comment
User Comments (0)
About PowerShow.com