Use este identificador para citar ou linkar para este item: https://locus.ufv.br//handle/123456789/2647
Registro completo de metadados
Campo DCValorIdioma
dc.contributor.authorPinheiro, Felipe da Silva
dc.date.accessioned2015-03-26T13:10:34Z-
dc.date.available2013-06-11
dc.date.available2015-03-26T13:10:34Z-
dc.date.issued2013-02-26
dc.identifier.citationPINHEIRO, Felipe da Silva. Extensible metaprogramming for the XAJ (eXtensible AspectJ) language. 2013. 45 f. Dissertação (Mestrado em Metodologias e técnicas da Computação; Sistemas de Computação) - Universidade Federal de Viçosa, Viçosa, 2013.por
dc.identifier.urihttp://locus.ufv.br/handle/123456789/2647-
dc.description.abstractLinguagens de domínio específico orientadas a aspectos (DSALs) são linguagens projetadas especificamente para um domínio com funcionalidades orientadas a aspectos, gerando vantagens como produtividade e expressividade. Embarcar uma DSAL em uma linguagem de propósito geral orientada a aspectos pode apresentar algumas vantagens. Para conseguir isso, uma das técnicas utilizadas é a extensibilidade. A linguagem eXtensible AspectJ (XAJ ) é uma linguagem extensível baseada em AspectJ, principal linguagem orientada a aspectos. A definição de extensões para a linguagem é modular, sendo encapsulada em uma classe sintática, que permite definir a sintaxe e a semântica da nova construção, além de representá-la na árvore de sintaxe abstrata (AST ). A definição da semântica de uma nova construção se dá pela tradução para construções já conhecidas. Nesse ponto, a linguagem pode-se beneficiar das vantagens da metaprogramação. A metaprogramação é uma técnica de escrever programas que geram ou manipulam programas. Assim, com uma sintaxe próxima à sintaxe concreta da linguagem, obtém-se maior facilidade de entendimento. Com um mecanismo de metaprogramação extensível, pode-se utilizar construções definidas pelo usuário na definição de novas construções. Este trabalho apresenta um mecanismo de metaprogramação extensível para a linguagem XAJ, apresentando exemplo de uso e suas vantagens.pt_BR
dc.description.abstractDomain specific aspect languages (DSALs) are languages specifically designed for a domain with aspect-oriented features, obtaining benefits such as productivity and expressiveness. To embed a DSAL in an aspect-oriented general purpose language may present some advantages. To achieve this, one of the techniques used is language extensibility. XAJ (eXtensible AspectJ ) is an extensible language based on AspectJ, the main aspect-oriented language. The definitions of extensions to the language are modular, being encapsulated in a syntax class. Syntax class allow users define the syntax and semantics of a new construction, and represent it in the abstract syntax tree (AST ). The definition of the semantics of a new construction is given by the translation to already known constructs. At this point, the language can benefit from the advantages of metaprogramming. Metaprogramming is a technique of writing programs that generate or manipulate other programs. Metaprogramming commands are very ease to understand especially when they use a syntax that is very similar to the concrete syntax of the language. With an extensible metaprogramming mechanism, user defined constructs can be used in the definitions of new constructs. This work presents an extensible metaprogramming mechanism for the XAJ language, presenting examples of usage and its advantages.eng
dc.description.sponsorshipCoordenação de Aperfeiçoamento de Pessoal de Nível Superior
dc.formatapplication/pdfpor
dc.languageporpor
dc.publisherUniversidade Federal de Viçosapor
dc.rightsAcesso Abertopor
dc.subjectMetaprogramaçãopor
dc.subjectExtensibilidadepor
dc.subjectOrientação a aspectospor
dc.subjectMetaprogrammingeng
dc.subjectExtensibilityeng
dc.subjectAspect orientationeng
dc.titleMetaprogramação extensível para a linguagem XAJ (eXtensible AspectJ)por
dc.title.alternativeExtensible metaprogramming for the XAJ (eXtensible AspectJ) languageeng
dc.typeDissertaçãopor
dc.contributor.advisor-co1Oliveira, Alcione de Paiva
dc.contributor.advisor-co1Latteshttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4788574J0por
dc.contributor.advisor-co2Ferreira, Ricardo dos Santos
dc.contributor.advisor-co2Latteshttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4723626E5por
dc.publisher.countryBRpor
dc.publisher.departmentMetodologias e técnicas da Computação; Sistemas de Computaçãopor
dc.publisher.programMestrado em Ciência da Computaçãopor
dc.publisher.initialsUFVpor
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpor
dc.contributor.advisor1Iorio, Vladimir Oliveira Di
dc.contributor.advisor1Latteshttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4784559J9por
dc.contributor.referee1Bastos, Leacir Nogueira
dc.contributor.referee1Latteshttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4788213Z3por
Aparece nas coleções:Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
texto completo.pdf1,94 MBAdobe PDFThumbnail
Visualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.