Project DescriptionA general purpose script engine platform for hosting scripting languages of multiple levels, with a set of predefined script languages and a library for building new script languages. Also, linq on C++ and a high level string processing library(including regex) are provided.
Please go to "Source Code" page and download the latest version of the
source code and documentation.
Contact Me - 联系我*working on*: implementing generic concept for NativeX
*documentation latest update*: Parser Combinator Programming Guide (doc/pdf) (Chinese version)
In Vczh Library++ 3.0 there are
- [done] Both x86 and x64 supports
- [done] a lightweight and fast script language virtual machine
- [done] a general compiler component library (type manager, symbol table, visitor pattern macros, etc..)
- [developing] an extensible basic script language supports for languages like C
- [done] an extensible basic script language semantic analyzer
- [done] a basic script language to basic IL code generator
- [done] NativeX which is designed to directly map the basic script language syntax tree
- [done] reflection on a basic script language assembly (C++API only)
- [done] Enable C++ code to call basic script functions by language provider framework
- [done] optimize and get a higher compiler performance or better code generation
- [done] design syntax error messages for NativeX
- [done] invoke initialization function API
- [done] Fully testing code generation
- [done] implement ABI for assembly
- [done] enable assembly linking so that functions in different assemblies can call each other
- [developing] generic and concept supports for basic script language and NativeX parser
- [done] generic type rename
- [done] generic structure
- [done] generic global variable
- [done] generic function
- [done] generic concept definition
- [developing] generic concept invoking
- [considering] future features for basic script language
- constructor/destructor/copy constructor/assign operator overloading (denied)
- exception handling
- foreign function interface
- check linking symbol signature to avoid dll hell
- a common library for basic script language (to share libraries between different language of the same level)
- instruction level optimization
- debugger interface
- Pascal, Basic, C and native Python compilers built on basic script language
- an extensible managed script language supports for languages like C# or Java
- an extensible dynamic script language supports for languages like Javascript
- [developing] a language provider framework to support communication between different languages
- [done] API for basic script languages
- API for managed script languages
- API for dynamic script languages
The three level of languages are finally compiled into opcodes for the lightweight VM, so languages in all levels can co-operate togetherVczh Library++ 3.0 Core Library there are
- [done] regular expression, parser combinator builder and text encoder/decoder
- [done] an extensible stream system
- [done] a collection library with Linq implemented in C++
- [done] a reflection library on C++
- [done] a lightweight unit test framework(only tens of lines of code) for C++
Vczh Library++ 3.0 contains the following code generators:
- [done] FpMacro.exe: functional macro system for generate complex C++ code files
- [done] StrGen.exe: resource generator for generating C++ programs of different languages(Chinese, English, ...).
THE PROJECT IS DEVELOPING