Недавно случайно наткнулся. ECMA Script на object pascal. Проверил в на FPC 2.4.4 - скомпилировалось (поправил 1-ну строку), тестовые примеры работают.
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 OwnLicense+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 and 64-bit x64/AMD64 Just-in-Time Compiler (a ARMv7 EABI JIT for ARM CPUs with VFPv3 instruction set is planned)
Constant folding
Dead code elimination
Abstract-Syntax-Tree based optimizations
Type inference (both exact and speculative)
Polymorphic Inline Cache based on object structure and property key IDs
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)
Страница проекта на Sourceforge