I want to post here my newest project named BESEN. BESEN is an acronym for "Bero's EcmaScript Engine", and it is a complete ECMAScript Fifth Edition Implemention in Object Pascal, which is compilable with Delphi >=7 and FreePascal >= 2.5.1 (maybe also 2.4.1).
BESEN is licensed under a RubyLike+AGPLv3 dual-license.
Features:
- Complete implementation of the ECMAScript Fifth Edition standard
- Own bytecode-based ECMA262-complaint Regular Expression Engine
- Incremental praise/exact mark-and-sweep garbage collector
- Unicode UTF8/UCS2/UTF16/UCS4/UTF32 support (on ECMAScript level, UCS2/UTF16)
- Compatibility modes, for example also a facile JavaScript compatibility mode
- Bytecode compiler
- Call-Subroutine-Threaded Register-based virtual machine
- Context-Threaded 32-bit x86 Just-in-Time Compiler (x64/AMD64 JIT is in the work and a ARMv7 EABI JIT for ARM CPUs with VFPUv1 instruction set is planned)
- Constant folding
- Dead code elimination
- Abstract-Syntax-Tree based optimizations
- Type inference (both exact and speculative)
- Property Inline Cache
- Perfomance optimized hash maps
- Self balanced trees (for example to sort on-the-fly linked list items of hash maps for very fast enumeration of array objects)
- Easy native ObjectPascal class integration (properties per RTTI and published methods per by-hand-parsing of the native virtual method table)
And here is the link to BESEN: http://besen.sourceforge.net/
Have fun with it
EDIT: Moved to SF.NET
Bookmarks