JILRuntime/JewelScript

beta

A powerful OO script language to embed in any C/C++ application.

2 Downloads (This Week)
Last Update:
Download source code 1.2.3.80
Browse All Files

Screenshots

Description

A general purpose, object-oriented script language that compiles into code for a register based virtual machine. The language is quite similar to other object-oriented high-level languages (Java, C#).

The library is entirely self-sufficient and ANSI C compliant. It's main purpose is to be embedded in any C/C++ 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.

JILRuntime/JewelScript Web Site

Features

  • 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)
  • 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)
  • 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, 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

Update Notifications





Additional Project Details

Intended Audience

Developers

Programming Language

C

Registered

2005-01-22

Icons must be PNG, GIF, or JPEG and less than 1 MiB in size. They will be displayed as 48x48 images.