lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Very interesting project!

I like how clean the Lua grammar looks in the `test/expected/lua/grammar.peg`.

I wished I could have tried that library back then,
because I've built a large customized Lua grammar using just LpegLabel
in the programming language I am currently creating
at https://github.com/edubart/nelua-lang/blob/master/nelua/syntaxdefs.lua
and looks like my grammar definitions would be much more readable with Caribay.

Thus Caribay looks like a cool project to try in a future refactor!

---
Eduardo Bart




Em qua., 2 de set. de 2020 às 02:15, Gustavo Castellanos <gustavoaca1997@gmail.com> escreveu:

Hello!

My name is Gustavo and this is my first time writing to this mailing list.

I am writing to announce my project for the GSoC 2020 called Caribay, a PEG (Parsing _expression_ Grammar) parser generator built with LpegLabel, with support of automatic generation of error labels and error recovery rules. The generated parser produces a generic abstract syntax tree or a list of thrown errors. Caribay makes easier to parse lexical symbols, comments, identifiers and keywords using its own syntax.

We developed a parser for the input grammar, a preprocessor for computing FIRST and FOLLOW sets, an algorithm for automatically generating error labels, optional optimizations which can be enabled by the user, and a translator that generates LPegLabel patterns.

A story about the name: Caribay is the daughter of Zuhé (the Sun) and Chía (the Moon) from a legend of the Mirripuyes (an indigenous group from Mérida, Venezuela). Since Lua means Moon in Portuguese, the tool being the daughter of Lua sounded nice to me. Also, the legend involves the origin of five famous peaks from Mérida, so the name is related to "generating" things.

The Code

Caribay can be installed using Luarocks. The source code has been published on Github.

Who I am

I am a student of computer engineering at Universidad Simón Bolívar, Venezuela. I am interested in programming languages and learning new software engineering and computer science concepts.

Mentors

Sérgio Medeiros