Light programming language

Detalhes bibliográficos
Autor(a) principal: Veiga, Pedro Sassen
Data de Publicação: 2018
Tipo de documento: Trabalho de conclusão de curso
Idioma: eng
Título da fonte: Repositório Institucional da UFRGS
Texto Completo: http://hdl.handle.net/10183/190184
Resumo: O aumento em poder computacional nas últimas decadas permitiram a criação e estabelecimento de diversas linguagens de programação de alto nível como Java e Python. Nessas linguagens, controle sobre o hardware é constantemente esquecido em favor de abstrações mais convenientes para o programador que oferencem algumas garantias importantes (como segurança de memória). Ao mesmo tempo, antigas linguagens de baixo nível como C, ainda são consideradas uma das poucas alternativas para linguagens de sistema. Esse trabalho propõe uma nova linguagem de programação de baixo nível chamada Light que faz uso de conceitos de meta-programação, comumente presentes em linguagens interpretadas de alto nível, em uma linguagem compilada. Light é uma linguagem de baixo nível, estaticamente tipada com foco em simplicidade, consistência de sintaxe e compreensibilidade. Possui ambiente de execução mínimo, não possui coletor de lixo e é composta de um núcleo simples com uma camada de meta-programação construída por cima. Nós apresentaremos o projeto completo da linguagem e a implementação de seu compilador. O objetivo deste trabalho é oferecer uma linguagem de sistema de uso geral que utiliza-se de meta-programação para complementar a linguagem base como uma ferramenta para o programador construir software.
id UFRGS-2_6719cfc83b0eeab88d8bb2934b21f8ec
oai_identifier_str oai:www.lume.ufrgs.br:10183/190184
network_acronym_str UFRGS-2
network_name_str Repositório Institucional da UFRGS
repository_id_str
spelling Veiga, Pedro SassenMachado, Rodrigo2019-04-09T02:34:48Z2018http://hdl.handle.net/10183/190184001088757O aumento em poder computacional nas últimas decadas permitiram a criação e estabelecimento de diversas linguagens de programação de alto nível como Java e Python. Nessas linguagens, controle sobre o hardware é constantemente esquecido em favor de abstrações mais convenientes para o programador que oferencem algumas garantias importantes (como segurança de memória). Ao mesmo tempo, antigas linguagens de baixo nível como C, ainda são consideradas uma das poucas alternativas para linguagens de sistema. Esse trabalho propõe uma nova linguagem de programação de baixo nível chamada Light que faz uso de conceitos de meta-programação, comumente presentes em linguagens interpretadas de alto nível, em uma linguagem compilada. Light é uma linguagem de baixo nível, estaticamente tipada com foco em simplicidade, consistência de sintaxe e compreensibilidade. Possui ambiente de execução mínimo, não possui coletor de lixo e é composta de um núcleo simples com uma camada de meta-programação construída por cima. Nós apresentaremos o projeto completo da linguagem e a implementação de seu compilador. O objetivo deste trabalho é oferecer uma linguagem de sistema de uso geral que utiliza-se de meta-programação para complementar a linguagem base como uma ferramenta para o programador construir software.The increase of computing power in the last decades allowed for the creation and establishment of many high level programming languages such as Java and Python. In these languages, control over the hardware is often neglected in favor of more convenient abstractions for the programmer that offer some important guarantees (such as memory safety). At the same time, older lower level languages, such as C, are still considered one of the few viable options for systems programming. This work proposes a new low level programming language called Light that makes use of meta-programming ideas, commonly present in higher level, interpreted languages, in a compiled one. Light is a lower level, statically typed language that focuses on simplicity, consistent syntax and understandability. It has minimal runtime, no garbage collection and is composed of a simple core with a meta-programming layer built on top. We will present the complete language design and its compiler implementation. The objective of this work is to provide a general purpose system language that uses meta-programming to complement the base language as a tool to the programmer for building software.application/pdfengLinguagens : ProgramacaoProgramming LanguageCompilersMeta-ProgrammingLight programming languageinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2018Ciência da Computação: Ênfase em Ciência da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001088757.pdf.txt001088757.pdf.txtExtracted Texttext/plain99423http://www.lume.ufrgs.br/bitstream/10183/190184/2/001088757.pdf.txt416d40b051192bea52f13959ec38b4f4MD52ORIGINAL001088757.pdfTexto completo (inglês)application/pdf334377http://www.lume.ufrgs.br/bitstream/10183/190184/1/001088757.pdf549dd44754e723538a4dfe979a61023cMD5110183/1901842021-05-26 04:36:57.129106oai:www.lume.ufrgs.br:10183/190184Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2021-05-26T07:36:57Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Light programming language
title Light programming language
spellingShingle Light programming language
Veiga, Pedro Sassen
Linguagens : Programacao
Programming Language
Compilers
Meta-Programming
title_short Light programming language
title_full Light programming language
title_fullStr Light programming language
title_full_unstemmed Light programming language
title_sort Light programming language
author Veiga, Pedro Sassen
author_facet Veiga, Pedro Sassen
author_role author
dc.contributor.author.fl_str_mv Veiga, Pedro Sassen
dc.contributor.advisor1.fl_str_mv Machado, Rodrigo
contributor_str_mv Machado, Rodrigo
dc.subject.por.fl_str_mv Linguagens : Programacao
topic Linguagens : Programacao
Programming Language
Compilers
Meta-Programming
dc.subject.eng.fl_str_mv Programming Language
Compilers
Meta-Programming
description O aumento em poder computacional nas últimas decadas permitiram a criação e estabelecimento de diversas linguagens de programação de alto nível como Java e Python. Nessas linguagens, controle sobre o hardware é constantemente esquecido em favor de abstrações mais convenientes para o programador que oferencem algumas garantias importantes (como segurança de memória). Ao mesmo tempo, antigas linguagens de baixo nível como C, ainda são consideradas uma das poucas alternativas para linguagens de sistema. Esse trabalho propõe uma nova linguagem de programação de baixo nível chamada Light que faz uso de conceitos de meta-programação, comumente presentes em linguagens interpretadas de alto nível, em uma linguagem compilada. Light é uma linguagem de baixo nível, estaticamente tipada com foco em simplicidade, consistência de sintaxe e compreensibilidade. Possui ambiente de execução mínimo, não possui coletor de lixo e é composta de um núcleo simples com uma camada de meta-programação construída por cima. Nós apresentaremos o projeto completo da linguagem e a implementação de seu compilador. O objetivo deste trabalho é oferecer uma linguagem de sistema de uso geral que utiliza-se de meta-programação para complementar a linguagem base como uma ferramenta para o programador construir software.
publishDate 2018
dc.date.issued.fl_str_mv 2018
dc.date.accessioned.fl_str_mv 2019-04-09T02:34:48Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/190184
dc.identifier.nrb.pt_BR.fl_str_mv 001088757
url http://hdl.handle.net/10183/190184
identifier_str_mv 001088757
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Repositório Institucional da UFRGS
collection Repositório Institucional da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/190184/2/001088757.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/190184/1/001088757.pdf
bitstream.checksum.fl_str_mv 416d40b051192bea52f13959ec38b4f4
549dd44754e723538a4dfe979a61023c
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv
_version_ 1815447239265353728