A Simple Scripting Language.
This version is currently under development, and has several bugs, use v0.7.4
To add QScript to your dub package or project, run this in your dub package's directory:
dub add qscriptAfter adding that, look at the source/demo.d to see how to use the QScript class to execute scripts.
To get started on using QScript, see the following documents:
spec/architecture.md- How qscript works under the hood. Don't bother if you wont be using advanced stuff.spec/libraries.md- Built in QScript libraries.// TODO write thisspec/syntax.md- describes QScript's syntax and more.source/standalone.d- A demo usage of QScript in D langauage.examples/- Contains some scripts showing how to write scripts.
The code is thoroughly documented. Separate documentation can be found here.
QScript comes with a standalone configuration, so it can be used without being first integrated into some program as a library.
You can build it using:
dub build qscript -c=standalone -b=releaseYou can use this executable to run scripts, inspect the generated AST for script, or the generated NaVM bytecode:
./qscript /path/to/script # execute a script
./qscript --ast /path/to/script # pretty print AST for script
./qscript --bcode /path/to/script # print NaVM bytecode for script- Dynamic arrays
- Static typed
- Function overloading
- References (pointers, but a bit simplified)
- Structs
- Enums
- Global Variables
- Importing libraries (script can be loaded as library too)
This is how a hello world would look like in QScript. For more examples, see examples/.
import qscript_stdio;
function void main(){
writeln ("Hello World!");
}