lua-users home
lua-l archive

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


Lua's inbuilt parser and code generator is a work of art, very compact
and low overhead but extremely fast. It uses minimal memory and
produces bytecodes as it parses the source code (single pass
compiler). This is great for Lua and Ravi given the use cases of these
languages, but makes the parser and code generator quite hard to
understand, play with, or reuse in tools such as IDEs. It also makes
it harder to perform any advanced type checking or performance
optimizations.

I am pleased to announce a new project to create a Lua/Ravi parser and
code generator that is not a replacement for the default one in
Lua/Ravi but can be used for more specialised code generation, as well
as as a means of understanding how the parser and code generator
works. My hope is that it will enable the study of Lua implementation
in educational institutions, as I intend to use classical methods of
compilation. Moreover, ease of maintenance is a bigger priority than
sheer memory or performance efficiency.

The project was initially part of Ravi because I was reusing the Lua
lexer. However, I have now split this off into a standalone project
independent of Ravi.

The project is currently under development. You can view the code at:

https://github.com/dibyendumajumdar/ravi-compiler

All feedback and contributions welcome!

Regards
Dibyendu