Está en la página 1de 5
ANALISIS LEXICO EXPRESIONES REGULARES. Presentacion El objetivo de este tera es aprender qué son las expresiones regulares, asi como a operar con. las. También aprenderemos a implementar un analizador [éxico utlizando una herrarienta generadora de analizadores léxicos, denominada Flex, de acceso libre, Para ollo seguiremas el siguiente indice: «¢ Expresiones regulares. ‘# Operaciones con expresiones regulares, « Definiciones regulares, precedencia y asociatiidad. ¢¢ Implementacién de un analizador Kxico con Flex, ‘# Secciones de un programa Flex ‘¢ Ejemplo de analizador léxico. ‘¢ Errores més comunes con Flex. Se probaré a generar un analizador léxico bésico con Flex, con la idea de ir ampliéndolo de acuerdo con fa gramética que se decida para el compilador. WENN | Univesidod Europea de Madrid 4 (© Unwversidad Ewopea de Moana. Todos es derechos reservados. ANALISIS LEXICO EXPRESIONES REGULARES Expresiones regulares Se corresponden con las gramticas de tipo 3 de la jerarquia de Chomsky. Las expresiones, regulares son una forma de especificar patrones, entendiendo por patrén la forma de describir cadenas de caracteres, Es la forma de definir los tokens © componentes léxicos y, como veremos, cada patrén concuerda con una serie de cadenas, De esta forma, utlizamnos las expresiones regulares para darle nombre a estos patrones. Recordando ta siguiente tbl: SL rs a ry ‘ne aha avatar Vemos que para describir un identificador que se define solo por letras utilizando el patron [a-zA- Z]s, que reconoce cualguer letra mayiscuia o mriniscula seguido del simbolo +, estamos indicando que al menos tiene que haber una lta para describir un identficador, pero no hay limite para el ntimero de caracteres que puede tener ese token (identificador). Una expresion regular se puede constuir a parr de tras expresiones reguares més simples Cuando detinames los simbolos mediante los que so especifican las oxpresiones regulares voromas jemplos de estos, defniendo leas y algitos y como un identficador os una combinacién de ambos Para defini las expresiones regulares usamos metacaracteres o metasimbolos que especifican las acciones que se pueden reconocer sobre un determinado caracter 0 simbolo, Algunos de estos metacaracteres son: *, +, 2, | Cuando queremos utlizar estos simbolos, como por ejemplo * con su significado normal, para la operacién de multipicar se utiliza un cardcter de escape que anula el significado especial del rmetacardcter. En este ejemplo la forma correcta seria \, y asi tenemos l simbolo de muliplecar fen un patrén. WENN | Univesidod Europea de Madrid 5 (© Unversidad Ewopea de Moana. Todos os derechos reservados. ANALISIS LEXICO EXPRESIONES REGULARES Operaciones con expresiones regulares Hay tres operaciones basicas con expresiones regulares: ‘Se denota por el metacardcter |. Ejemplo: alb, significa que puede ser a 6 b. Esta operacién equivale a la unién, puesto Seca rte earch reeat a eats cane eee patrén (obsérvese que utilizamos patron y expresién psec ee siearnngh Comreiccs Serpico ater ge 8 eee lexema equivalente tiene que ser "ab", sin alternativa se Ce eee SS ena connate Cae Repeticién simbolos incluyendo la cadena vacia, es decir “0 o mas instancias" del simbolo afectado. Ejemplo: a’, significa que los lexemas para este patrén podrian ser: , a, aa, aaa, aaa, ‘Ademés de estas operaciones bésicas, aparecieron posteriormente extensiones a las mismas para cubrir algunas lagunas a la hora de especificar patrones: Se danola por of metacaricer +, umbién se le denonina cere petiva, Esta ‘opemelin Inds que el simboloalectadoYendr wna @ més natanais Eat, Signa que fs lexemas para esta engresion regular podiian sara, ea, aaa, Cualuircaacter quo no fennezca aun conan Clases do cxracteres Cualgiar carter afaciado. Ea, significa quo ks loxomas quo poctian valr son ha. Descabo a |(@joneraciones ‘sito opona basica ‘usin cadeter que na Clases decorators ual carter = pertanezca aun comin We~~ | Universidad Europea de Madrid 6 | (© Unversidad Ewopea de Maard. Todos los derachos reserva. ANALISIS LEXICO EXPRESIONES REGULARES. itomatvs 0 uizar le crchtos yun guion. Ef), ogres cuaguorcaracor fe 8 a 1 2 que lambien se potila hater expeseade por ald y es suenelvamento hasta Ia 2, pow esa forma es mucho tag abrova y ovis tenors, Tabi oe pusden nal oaiervalos mips [a-2A-2). que represent ‘odes las eras mnisoas y mayisoues Cuslpiercadeter que na Clases do carat eeeeeeemaeatd Cualir carton Ura més repstiiones || Ce ounainsancia nero de caracteres operaciones = Ts cone dl hlenao pore sh goth y abe tai poo ety ws |OQUESICA: Le = Ea -- Saas ‘Se donota por un pura» Siva para expresr que cua carter oes cn a ‘vpresonreguler Se avsia uber al falda la especieasion da un analzador louie por si queromos hacor alguna accom para todo que no careuor con os palrones deco. ‘usin cadeter que na cs pertanezca aun comin Ura més repstiiones || Ce ounainsancia nero de caracteres operaciones Rac si icn Sumasjeenaeeearacr Minder Sin aoe ume secon (™iisica Clases do cxracteres Cualgiar carter We~~ | Universidad Europea de Madrid 7 (© Unwversidad Ewopea de Moana. Todos os derechos reservados. ANALISIS LEXICO EXPRESIONES REGULARES Definiciones regulares, precedencia y asociatividad Con el objeto de simpiicar la notacién, se pueden poner nombres a las expresiones regulares, con el objeto de no tener que volver a escribir la expresién cada vez que tenemos que utiizarla, Por tanto, una definicién regular es, a modo de ejemplo: Pudiendo reuilizarlas para definir olro concepta, como por ejemplo: ¢# Identificado loa (leraigtoy, donde queremos decir que un identicador una cadena que comienza por una lra a la que le pueden seguir 0 6 mas leas (minisculas 0 mayliscuas) 0 algitos. Ejemplo de lexemas serian: a, a3, 236123. Los paréntesis sinven para ingicar que todo lo que esta incido entre elos so vera afectado por of metacardcter, fen este caso el *, que implica 0 o mas repeticiones. También es importante tener en cuenta los paréntesis, si queremos tener una precedencia diferente para determinados simbolos afectados por ellos. Como nos indica Louden (2004) en su ejerrolo,(alb) c, la operacién alternativa tiene mayor precedencia que la concatenacién al estar afectada por os paréntesis, La norma es igual que en matematicas, donde (5 - 2) * 4 = 3*4 = 12, la operacién afectada por los paréntesis se reaiiza antes (tiene mayor precedencia) que la mulipicacién, aunque sea una resta, WENN | Univesidod Europea de Madrid 8 (© Unversidad Ewopea de Moana. Todos os derechos reservados.

También podría gustarte