Skip to content

lives-group/apeg-redex

Repository files navigation

Parsing Expression Grammar with Syntatic Attributes (PEGwSA): uma formalização em PLT Redex

PEGwSA é um formalismo usado para descrever analisadores sintáticos top-down que estende Parsing Expression Grammar (PEG) com atributos sintáticos e operadores para manipulalos. PEGwSA serve como base para Adaptable Parsing Expression Grammar (APEG), formalismo que estende PEGwSA com mecanismos para manipular dinâmicamente as regras de produção que constituem a gramática.

Essa formalização é constituída por quatro artefatos: sintaxe, sistema de tipos e semânticas operacionais small-step e big-step. À exceção da semântica operacional small-step, todos esses artefatos são dividios em dois arquivos: um arquivo que abarca as expressões de atributos e outro, as expressões de parsing.

Os arquivos attributeL-syntax.rkt e attributePeg-syntax.rkt contém a especificação da sintaxe de PEGwSA.

Os arquivos attributeLType-bigStep.rkt e attributePegType-bigStep.rkt contém a especificação do sistema de tipos de PEGwSA.

Os arquivos attributeL-bigStep.rkt e attributePeg-bigStep.rkt contém a especificação da semântica operacional big-step de PEGwSA.

O arquivo attributeL-bigStep.rkt contém a especificação da semântica operacional small-step de PEGwSA.

Além disso, efetuamos alguns testes sobre a formalização de PEGwSA, esses testes podem ser encontrados na pasta tests.

About

A Redex formalization of APEG

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages