Download the PHP package aheinze/scriptlite-ext without Composer
On this page you can find all versions of the php package aheinze/scriptlite-ext. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download aheinze/scriptlite-ext
More information about aheinze/scriptlite-ext
Files in aheinze/scriptlite-ext
Package scriptlite-ext
Short Description C extension for ScriptLite — high-performance ECMAScript interpreter with native C parser
License MIT
Homepage https://github.com/aheinze/ScriptLiteExt
Informations about the package scriptlite-ext
ScriptLite C Extension
Mirror repository — this repo is automatically mirrored from aheinze/ScriptLite for PHP PIE installation. All development, issues, and pull requests happen in the main repository.
High-performance PHP extension for the ScriptLite ECMAScript interpreter. Replaces the PHP bytecode VM with a C implementation using computed-goto dispatch, delivering ~180x speedup.
The extension ships with a native C parser only (no PHP parser fallback), so no Composer autoloader or external PHP parser runtime is required at runtime.
Installation
Via PHP PIE (recommended)
Manual build
Prerequisites: PHP 8.3+ dev headers, phpize, C11 compiler, libpcre2-dev, make.
Then enable:
Verify
Usage
Standalone (no PHP library needed)
With ScriptLite PHP library
When installed alongside aheinze/ScriptLite, the PHP Engine class automatically delegates to the C extension — no code changes needed.
API
ScriptLiteExt\Engine
| Method | Description |
|---|---|
eval(string $code, array $globals = []): mixed |
Evaluate JS code and return the result |
compile(string $code): CompiledScript |
Compile JS to bytecode |
run(CompiledScript $script, array $globals = []): mixed |
Execute compiled bytecode |
transpile(string $code): string |
Transpile JS to PHP code |
getOutput(): string |
Get captured console.log output |
ScriptLiteExt\Compiler
| Method | Description |
|---|---|
compile(Program $ast): CompiledScript |
Compile an AST to bytecode |
ScriptLiteExt\VirtualMachine
| Method | Description |
|---|---|
execute(CompiledScript $script, array $globals = []): mixed |
Execute compiled bytecode |
getOutput(): string |
Get captured console.log output |
License
MIT