[pt] CONVERSÃO DE REGEXES PARA PARSING EXPRESSION GRAMMARS

[pt] Expressões regulares são um formalismo utilizado para descrever linguagens regulares e compõem a base de diversas bibliotecas de casamento de padrão. No entanto, existem determinados padrões úteis que são complexos ou impossíveis de serem descritos com expressões regulares puras. Devido a essas...

ver descrição completa

Detalhes bibliográficos
Autor: MARCELO OIKAWA
Formato: tesis doctoral
Estado:Versión publicada
Fecha de publicación:2011
País:Brasil
Recursos:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
Repositorio:Repositório Institucional da PUC-RIO (Projeto Maxwell)
Idioma:portugués
OAI Identifier:oai:MAXWELL.puc-rio.br:16815
Acesso em linha:https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=16815&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=16815&idi=2
http://doi.org/10.17771/PUCRio.acad.16815
Access Level:acceso abierto
Palavra-chave:[pt] LINGUAGEM LUA
[pt] LINGUAGENS DE PROGRAMACAO
[pt] LINGUAGENS DE SCRIPT
[en] LUA PROGRAMMING LANGUAGE
[en] PROGRAMMING LANGUAGES
[en] SCRIPTING LANGUAGES
Descrição
Resumo:[pt] Expressões regulares são um formalismo utilizado para descrever linguagens regulares e compõem a base de diversas bibliotecas de casamento de padrão. No entanto, existem determinados padrões úteis que são complexos ou impossíveis de serem descritos com expressões regulares puras. Devido a essas limitações, linguagens de script modernas disponibilizam bibliotecas de casamento de padrões baseadas em regexes, isto é, extensões de expressões regulares compostas, principalmente, por construções ad-hoc que focam em problemas específicos. Apesar de serem muito úteis na prática, os regexes possuem implementações complexas e distantes do formalismo original de expressões regulares. Parsing Expression Grammars (PEG) são uma alternativa formal para reconhecer padrões e possuem mais expressividade que expressões regulares sem necessitar de contruções ad-hoc. O objetivo deste trabalho é estudar formas de conversão de regexes para PEGs. Para isso, estudamos as implementações atuais de regexes e mostramos a conversão de algumas construções para PEGs. Por fim, apresentamos uma implementação da conversão de regexes para PEGs para a linguagem Lua.