3
CENTRO UNIVERSITÁRIO DE JOÃO PESSOA COORDENAÇÃO DE CIÊNCIAS DA COMPUTAÇÃO Disciplina: Construção de Compiladores I Professor: Odilon Nelson Grisi Dantas Período: 6 Turma: Data: Primeira Lista de Exercícios Resposta (questões 13 a 16) Expressões Regulares mais : '+' menos : '' mult : '*' div : '/' atrib : ':=' num_real : ['0''9']'.'['0''9'] id : ['a''z'](['a''z','0''9'])*

RespostaQuestoes13!14!15 16Lista1Compiladores1

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)}}