The powerful JavaScript runtime, implemented from scratch in C#.
The JavaScript engine consists on a pipeline composed by a Lexer, Parser, Resolver & Interpreter.
- Tokens & Lexing
 - Abstract Syntax Tree
 - Recursive Descent Parsing
 - Prefix & Infix Expressions
 - Runtime Representation of Objects
 - Interpreting Code using the Visitor Design Pattern
 - Lexical Scope
 - Environment Chains for Storing variables
 - Control Flow
 - Functions with Parameters
 - Closures
 - Static Variable Resolution & Error Detection
 - Classes
 - Constructors
 - Fields
 - Methods
 - Inheritance
 
- Access Modifiers
 - ES6 Modules / Imports
 - Promises
 - Events
 - Async / Await
 - File System Native API
 - Network Native API
 
- Running script file
 
cd ./Source/Engine/
dotnet run ./Examples/test.js
- REPL
 
cd ./Source/Engine/
dotnet run
Feel free to peek (and run) several scripts showing off several implemented features like...
- Classes
 - Recursion
 - Closures
 
Caution
This runtime is not yet production ready.

