Utilize este identificador para referenciar este registo:
http://hdl.handle.net/10071/20938
Registo completo
Campo DC | Valor | Idioma |
---|---|---|
dc.contributor.advisor | Botelho, Luís Miguel Pina Coelho Teixeira | - |
dc.contributor.author | Farinha, Diogo Miguel Hortêncio | - |
dc.date.accessioned | 2020-12-15T15:48:24Z | - |
dc.date.available | 2020-12-15T15:48:24Z | - |
dc.date.issued | 2019-10-04 | - |
dc.date.submitted | 2019-08 | - |
dc.identifier.citation | Farinha, D. M. H. (2019). Automatic generation of descriptions for Prolog programs [Dissertação de mestrado, Iscte - Instituto Universitário de Lisboa]. Repositório Iscte. http://hdl.handle.net/10071/20938 | pt-PT |
dc.identifier.uri | http://hdl.handle.net/10071/20938 | - |
dc.description.abstract | It is often hard for students and newcomers used to imperative languages to learn a declarative language such as Prolog. One of their main difficulties is understanding the procedural component of Prolog. Despite being a declarative language, Prolog allows for the creation of procedures whose structure is very different from the more common imperative languages. To tackle this issue, we try to facilitate code comprehension of procedural Prolog through the generation of formal and natural descriptions. First, we represent the workflow of Prolog encoded procedures through formal descriptions similar to imperative languages. To do this, we identify programming patterns that represent the basic blocks of certain classes of Prolog programs. Then we view more complex Prolog programs as coherent compositions of instances of the basic patterns. By using formal templates, we formally describe these individual patterns into an intermediate formal language. Afterwards, we generate natural language descriptions by using templates to describe the formal constructs. Using this two-step approach, we obtain two descriptions (one formal and one in natural language) that are both explanatory of the original program. | por |
dc.description.abstract | Normalmente é difícil para alunos e iniciantes que estão habituados a linguagens imperativas, aprender uma linguagem declarativa como o Prolog. Uma das suas principais dificuldades é entender a componente procedimental do Prolog. Apesar de ser uma linguagem declarativa, o Prolog permite a criação de procedimentos cuja estrutura é bastante diferente da usada nas linguagens imperativas. Para abordar este problema tentámos facilitar a compreensão de código do Prolog procedimental através da geração de descrições formais e em linguagem natural. Primeiro, representamos a lógica dos procedimentos em Prolog através de descrições formais similares a linguagens imperativas. Para isto, identificamos os padrões que representam os blocos básicos de certas classes de programas. Depois, consideramos os programas mais complexos como composições destes padrões básicos. Através da utilização de templates formais, descrevemos formalmente estes padrões individuais numa linguagem formal intermédia. Seguidamente, geramos descrições em linguagem natural utilizando templates para descrever os construtos formais. Ao usar esta abordagem de dois passos obtemos duas descrições (uma formal e uma em linguagem natural) que são ambas explanatórias do programa original. | por |
dc.language.iso | eng | por |
dc.rights | openAccess | por |
dc.subject | Code comprehension | por |
dc.subject | Prolog | por |
dc.subject | Procedural Prolog | por |
dc.subject | Natural language description | por |
dc.subject | Formal description | por |
dc.subject | Programming pattern | por |
dc.subject | Natural language templates | por |
dc.subject | Formal templates | por |
dc.subject | Compreensão de código | por |
dc.subject | Prolog procedimental | por |
dc.subject | Descrição em linguagem natural | por |
dc.subject | Descrição formal | por |
dc.subject | Padrão de programação | por |
dc.subject | Templates de linguagem natural | por |
dc.subject | Templates formais | por |
dc.title | Automatic generation of descriptions for Prolog programs | por |
dc.type | masterThesis | por |
dc.peerreviewed | yes | por |
dc.identifier.tid | 202292231 | por |
dc.subject.fos | Domínio/Área Científica::Engenharia e Tecnologia::Outras Engenharias e Tecnologias | por |
dc.subject.fos | Domínio/Área Científica::Ciências Sociais::Economia e Gestão | - |
thesis.degree.name | Mestrado em Informática e Gestão | por |
Aparece nas coleções: | T&D-DM - Dissertações de mestrado |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
master_diogo_hortencio_farinha.pdf | 752,07 kB | Adobe PDF | Ver/Abrir |
Todos os registos no repositório estão protegidos por leis de copyright, com todos os direitos reservados.