A general purpose, object-oriented script language that compiles into code for a register based virtual machine. The language is quite similar to object-oriented high-level languages like Java and C#.
The library is entirely self-sufficient and ANSI C compliant. It's main purpose is to be embedded in any application to allow automation of that application through scripting.
An integrated C++ binding code generator allows you to create bindings for your application's classes in seconds. The integrated HTML documentation generator allows you to create documentation for your native bindings in seconds.
The project is released under the zlib/libpng license. It has been in development for over 10 years and offers some powerful features.
Extensive information, documentation, articles and code examples can be found at the developer blog.
- clean, consistent C-style syntax
- declarative language – entities must be declared before use
- static typing – compiler ensures type safety of the program
- automatic type conversion, including user defined conversion methods
- support for type-less variables
- classes and implementation of interfaces (script and native)
- single inheritance, including virtual methods and private members
- multiple inheritance in the form of “mix-in classes” (policy classes)
- pure native interfaces
- factorization of interfaces (instantiating all implementors)
- accessor methods – handler methods for class “properties”
- co-functions (co-routines, cooperative threads)
- delegates (first class functions and methods)
- anonymous delegates (anonymous local functions and methods)
- closures, local delegates that can access the parent function’s variables
- lambda expressions (function literals)
- hybrid classes (semi-inheritance by constructing delegates from base)
- clauses – flow-control with a structured goto-statement
- basic exception support (including user exception classes)
- comprehensive support for namespaces
- weak references
- user-defined type aliases
- built-in classes string, array, list, iterator, arraylist, table
- integrated C++ binding code generator
- integrated HTML documentation engine
- XML export of a compiled program’s complete type information
- maximizes compile-time checks
- meaningful error and warning output (not just “Error 72″)
- open-source (zlib/libpng license)
- entirely self-contained and written in ANSI C
- automatic memory management (ref-counting, CPU burst free)
- optional mark and sweep garbage collector
- algorithm for fast allocation / freeing of small objects
- plug-in architecture for native types (classes / functions written in C or C++)
- powerful, register based, general purpose VM
- sophisticated byte-code optimizer
- ability to save and load compiled programs as binary files
- unlimited compile-link-run cycles without losing runtime data
Be the first to post a review of JILRuntime/JewelScript!