webamp/experiments/maki-interpreter
2019-01-16 07:23:01 -08:00
..
fixtures Add sketch of .maki parser 2019-01-16 07:15:52 -08:00
reference/maki_decompiler_1.1 Add sketch of .maki parser 2019-01-16 07:15:52 -08:00
.gitignore Add sketch of .maki parser 2019-01-16 07:15:52 -08:00
constants.js Add sketch of .maki parser 2019-01-16 07:15:52 -08:00
index.js Add sketch of .maki parser 2019-01-16 07:15:52 -08:00
index.test.js Add sketch of .maki parser 2019-01-16 07:15:52 -08:00
objects.js Add sketch of .maki parser 2019-01-16 07:15:52 -08:00
package.json Add sketch of .maki parser 2019-01-16 07:15:52 -08:00
readme.md Move readme to the right place 2019-01-16 07:23:01 -08:00
yarn.lock Add sketch of .maki parser 2019-01-16 07:15:52 -08:00

Maki Interpreter

One possible future for Webamp would be to support "modern" skins. The biggest blocker to this is that modern skins suport a custom scripting language called Maki.

This project is an investigation into how feasible it would be to write a .maki interpreter in JavaScript. Maki is a compiled language, so this interpreter plans to parse/evaluate the compiled byte code. Most of the hard work of figuring out how to write the parser has already been done as part of Ralf Engels' Maki Decompiler. The first stage of this project is just to reimplement the parser portion of the decompiler in JavaScript.

Roadmap

  • Parse top level bytecode (constants, types, variables)
  • Evaluate function code
  • Implement core of standard library
  • ???