Mozilla Rhino is a production-grade JavaScript engine implemented in Java. Its core module provides a full ECMAScript runtime: a parser, AST, two execution paths (an optimizing bytecode compiler and a newer interpreterv2 instruction set), a classfile writer, native built-in objects, typed arrays, regular expressions, source maps, serialization, and LiveConnect Java/JavaScript interoperability. The project is structured as modular Java libraries: the core `rhino` runtime, `rhino-tools` (shell, debugger, compiler), `rhino-xml` (E4X), `rhino-engine` (javax.script.ScriptEngine integration), `rhino-kotlin` (Kotlin nullability), and aggregator `rhino-all` modules. It is designed to be embedded in JVM applications, with `Context`, `Scriptable`, and `ScriptRuntime` as the primary host-facing API surface, plus service-loader extension points for regex, XML, console providers, and source code retrieval. The shell (`org.mozilla.javascript.tools.shell.Main`) and the `jsc` compiler (`org.mozilla.javascript.tools.jsc.Main`) are the main standalone entry points.