Use este identificador para citar ou linkar para este item:
http://repositorio.ufc.br/handle/riufc/82144| Tipo: | TCC |
| Título: | Estudo Comparativo de Parsers LL(1): desempenho e eficiência em compiladores |
| Autor(es): | Lima, Francisco Micael de Araújo |
| Orientador: | Rezende, Cenez Araujo de |
| Palavras-chave em português: | compiladores;linguagens de programação;análise sintática;gramática;determinismo;LL(1) |
| Palavras-chave em inglês: | compilers;programming languages;syntactic analysis;grammar;determinism;LL(1) |
| Data do documento: | 2025 |
| Resumo: | Os compiladores, desde 1952, possuem uma significativa importância para a computação. Dessa forma, a preocupação com desempenho, confiabilidade e evolução das funções básicas desse artefato é frequente, sendo foco de discussão e estímulo na indústria de desenvolvimento de software, bem como no meio acadêmico. Grandes empresas de tecnologia, como Google e Microsoft, desenvolvem suas próprias linguagens de programação e investem continuamente na pesquisa de compiladores. A análise sintática, etapa essencial da compilação, transforma o código-fonte em uma estrutura interpretável e otimizável. Nesse contexto, os Parsers desempenham um papel central, garantindo a conformidade do código com uma gramática definida. A gramática define todas as regras que validam se um programa é aceito por uma linguagem, sendo a classe LL(1) a categoria de gramáticas determinísticas que podem ser analisadas de forma preditiva, com leitura da entrada da esquerda para a direita e derivação por meio de um único símbolo de lookahead. Entre os modelos estabelecidos na literatura, os parsers Recursivos Descendentes, bem como os guiados por tabela foram comparados em termos de desempenho, consumo de memória e complexidade de implementação, sendo ambos implementados em um projeto que utiliza uma linguagem definida por uma gramática determinística. Assim, este trabalho busca auxiliar na escolha do parser mais adequado com base na gramática da linguagem e nos requisitos do projeto. |
| Abstract: | Since 1952, compilers have played a significant role in computing. As such, concerns about performance, reliability, and the evolution of their core functions are ongoing, being a central topic of discussion and innovation both in the software development industry and in academia. Major technology companies like Google and Microsoft develop their own programming languages and continuously invest in compiler research. Syntax analysis, an essential phase of compilation, transforms the source code into a structure that can be interpreted and optimized. In this context, parsers play a central role, ensuring that the code conforms to a defined grammar. Grammar defines all the rules that validate whether a program is accepted by a language, with the LL(1) class representing deterministic grammars that can be parsed predictively, reading input from left to right and deriving using a single lookahead symbol. Among the established models in the literature, both Recursive Descent Parsers and Table-Driven Parsers have been compared in terms of performance, memory consumption, and implementation complexity, with both being implemented in a project that uses a language defined by a deterministic grammar. Thus, this work aims to assist in choosing the most suitable parser based on the language’s grammar and the project’s requirements. |
| URI: | http://repositorio.ufc.br/handle/riufc/82144 |
| ORCID do(s) Autor(es): | 0009-0005-1375-4164 |
| Currículo Lattes do(s) Autor(es): | http://lattes.cnpq.br/9730323940662983 |
| Tipo de Acesso: | Acesso Aberto |
| Aparece nas coleções: | CIÊNCIA DA COMPUTAÇÃO - RUSSAS - Monografias |
Arquivos associados a este item:
| Arquivo | Descrição | Tamanho | Formato | |
|---|---|---|---|---|
| 2025_tcc_fmalima.pdf | 2025_tcc_fmalima | 3,12 MB | Adobe PDF | Visualizar/Abrir |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.