This is an old revision of the document!
Add support for Lua scripts to the Loader
- Student: Pedro Souza (pedrosouza@)
- Mentor: Wojciech Koszek (wkoszek@)
Project description
This project aims to make the Loader script interpreter modular so that the user can choose which scripting language to use at compile time. After that, it will be implemented a Lua scripting module and incrementally add the functionalities present in the Forth scripts.
Approach to solving the problem
Based on the interface defined for scripting modules:
- The already present Forth interpreter will be updated to match the defined interface
- Implement the basics of the Lua interpreter
- Incrementally add functionalities present in the Forth interpreter to the Lua interpreter
- Handle .conf and .rc file parsing with the Lua interpreter
Deliverables
- Lua interpreter module
- Lua scripts providing advanced boot options
- Lua parser for .conf and .rc files
Milestones
- 2 weeks - Decouple Forth interpreter and ensure that it's working properly.
- 2 weeks - Port Lua interpreter and ensure that it's working properly.
- 1 week - Implement the loader function bindings.
- 5 weeks - Incrementally add Lua script functionalities and ensure that they're working properly.
- 1 week - Implement the .conf and .rc parser.
- 1 week - Write the documentation.
Test Plan
List of features integrated and tested:
| Lua interpreter working with the loader | DONE | |
| Lua loader functions (perform, set/get environment var, etc) | DONE | |
| Lua include, file handling functions | DONE | |
| Lua string library | DONE | |
| Kernel loading functions | DONE | |
| Config file parsing and mudule loading | DONE | |
| Boot menu | BASIC | |
| PnP config & setup | TODO | |