ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Analisador lexico


Enviado por   •  10 de Septiembre de 2015  •  Tareas  •  710 Palabras (3 Páginas)  •  141 Visitas

Página 1 de 3

def agregar(aux,r,s):

if aux!='':

r.append(aux)

r.append(s)

return r

def identificar(cadena):

s=list(cadena)

r=[]

aux=''

for i in range(0,len(s)):

if chr(40)==s[i]: #parentesis de apertura

r=agregar(aux,r,s[i])

aux=''

elif chr(41)==s[i]:

## x='Parentesis de cierre'

r=agregar(aux,r,s[i])

aux=''

elif chr(91)==s[i]:

## x='Corchete de apertura'

r=agregar(aux,r,s[i])

aux=''

elif chr(93)==s[i]:

## x='Corchete de cierre'

r=agregar(aux,r,s[i])

aux=''

elif chr(123)==s[i]:

## x='Llvae de apertura'

r=agregar(aux,r,s[i])

aux=''

elif chr(125)==s[i]:

## x='Llave de cierre'

r=agregar(aux,r,s[i])

aux=''

elif chr(43)==s[i]:

## x='operador suma'

r=agregar(aux,r,s[i])

aux=''

elif chr(45)==s[i]:

## x='operador resta'

r=agregar(aux,r,s[i])

aux=''

elif chr(42)==s[i]:

## x='operador multiplicacion'

r=agregar(aux,r,s[i])

aux=''

elif chr(47)==s[i]:

## x='operador division'

r=agregar(aux,r,s[i])

aux=''

elif chr(34)==s[i]:

## x='operador potencia'

r=agregar(aux,r,s[i])

aux=''

elif chr(38)==s[i]:

## x='operador raiz cuadrada'

r=agregar(aux,r,s[i])

aux=''

else:

try:

v=int(s[i])

aux+=s[i]

except ValueError:

print('Esto no es valido',s[i])

if aux!='':

r.append(aux)

return 'Sus caracteres validos son:',r

p=input(str('Dame una cadena:'))

al=identificar(p)

print(al)

...

Descargar como (para miembros actualizados) txt (2 Kb) pdf (35 Kb) docx (11 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com