github.com/brwhale/KataScript ↗
A simple scripting language
Open this visualization on its own page →
Contributors
3
Lines of Code
376
From
2020-11-29
To
2020-12-26
About brwhale/KataScript
KataScript is a lightweight embedded scripting language written in C++ with familiar syntax designed for easy integration into C++ applications. It provides dynamic typing with eleven value types including integers, floats, vectors, strings, arrays, lists, dictionaries, classes, and functions. The language features automatic memory management through reference counting and includes control flow constructs like functions, loops, and conditionals along with object-oriented programming support through classes with multiple inheritance.
The interpreter is designed with security and sanity as primary goals, offering minimal type coercion to avoid unexpected behavior while still providing explicit casting functions. KataScript can be bidirectionally integrated with C++ code, allowing C++ functions to be exposed to scripts and KataScript functions to be called from C++. The implementation provides an in-browser demo and includes comprehensive documentation covering both language features and C++ integration patterns, with examples ranging from simple hello world programs to functional programming techniques.
The project targets developers who want scripting capabilities for game engines or other applications but prefer a more controlled and predictable alternative to existing solutions like Lua or Python. Future roadmap items include an expanded module system with whitelisting capabilities, asynchronous threading support, and eventual LLVM integration for producing standalone executables.