Construyendo expresiones regulares - PowerPoint PPT Presentation

About This Presentation
Title:

Construyendo expresiones regulares

Description:

Compiladores An lisis L xico Oscar Bonilla obonilla_at_galileo.edu Universidad Galileo Anatom a de un compilador Qu es un analizador l xico? Ejemplos de Tokens ... – PowerPoint PPT presentation

Number of Views:81
Avg rating:3.0/5.0
Slides: 16
Provided by: oscarboni
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
(No Transcript)
12
(No Transcript)
13
(No Transcript)
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