Upload
carlos-liu
View
214
Download
2
Embed Size (px)
DESCRIPTION
respostas
Citation preview
CENTROUNIVERSITRIODEJOOPESSOACOORDENAODECINCIASDACOMPUTAO
Disciplina:ConstruodeCompiladoresI
Professor:OdilonNelsonGrisiDantasPerodo:6 Turma: Data:
PrimeiraListadeExercciosResposta(questes13a16)
ExpressesRegulares
mais:'+'
menos:''
mult:'*'
div:'/'
atrib:':='
num_real:['0''9']'.'['0''9']
id:['a''z'](['a''z','0''9'])*
Autmato,comtratamentoparacomprimentodeidentificadores
AlgoritmoemPseudoCdigo
lex(){c:=leia_char()lexema:=''sec='+'retornemaissenaosec=''retornemenossenaosec='*'retornemultsenaosec='/'retornedivsenaosec=':'{c:=leia_char()sec='='retorneatrib}//num_realsenaosec='0'ouc='1'ou...c='9'{lexema:=concat(lexema,c)c:=leia_char()enquantoc='0'ouc='1'ou...c='9'{
lexema:=concat(lexema,c)c:=leia_char()
}sec='.'{
lexema:=concat(lexema,c)c:=leia_char()
}enquantoc='0'ouc='1'ou...c='9'{
lexema:=concat(lexema,c)c:=leia_char()
}retornenum_real(lexema)}//idsenaosec='a'ouc='b'ou...c='z'{lexema:=concat(lexema,c)c:=leia_char()enquantoc='a'ouc='b'ou...c='0'ou...c='9'{
lexema:=concat(lexema,c)c:=leia_char()
}//restricaolexicaparaidsecomprimento(lexema)>50{
lexema:=trunca(lexema,50)mostra_erro(lexema)
}retorneid(lexema)}}