Skip to content

JanSharp/phobos

Repository files navigation

Phobos Thumbnail

Phobos

Phobos's goal is to be an optimizing bytecode compiler for Lua with some language extensions and a type system.
At the moment it compiles regular Lua with the result being nearly identical to Lua itself, however it contains some more utilities than just compiling, the vast majority of which are currently only usable as a library.

Phobos supports bytecode with the default Lua 5.2 signature.

Table of Contents

Libraries, Dependencies and Licenses

Phobos itself is licensed under the MIT License, see LICENSE.txt.

  • Lua MIT License, Copyright (c) 1994–2021 Lua.org, PUC-Rio.
  • LuaFileSystem MIT License, Copyright (c) 2003 - 2020 Kepler Project.
  • Serpent MIT License, Copyright (c) 2012-2018 Paul Kulchenko (paul AT kulchenko DOT com) (email "encrypted" for scraping reasons)
  • LFSClasses The Unlicense
  • LuaArgParser MIT License, Copyright (c) 2021-2022 Jan Mischak
  • LuaPath The Unlicense
  • minimal-no-base-mod, Copyright (c) 2020 Erik Wellmann
  • JanSharpDevEnv, Copyright (c) 2020 Jan Mischak
  • markdown.lua, Copyright (c) 2008 Niklas Frykholm

For license details see the LICENSE_THIRD_PARTY.txt file and or the linked repositories above.

Contributors

Huge thanks to justarandomgeek for starting the project in the first place (writing the majority of the first iteration of the parser and starting on the actual compiler) and then helping me understand several parts of compilers in general, the Lua VM, Lua bytecode and Lua internals.

Thanks to Therenas for providing built Lua and LuaFileSystem binaries for macOS and ensuring Phobos runs properly on macOS.

Thanks to the factorio modding community for providing input, ideas and discussion about Phobos as a whole. Without several people wanting types and no longer wanting to micro optimize their code Phobos would never have happened.

About

A bytecode compiler for Lua with extensions

Topics

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages