ruby/ruby
Systems
The internal building blocks of the CRuby interpreter. These are the architectural components that the rest of the codebase composes — none of them are deployable on their own, and together they make up "the Ruby implementation".
graph TD
src[Source code] --> p1[parse.y parser]
src --> p2[Prism parser]
p1 --> ast1[NODE AST]
p2 --> ast2[Prism AST]
ast1 --> compile[Bytecode compiler]
ast2 --> compile
compile --> iseq[iseq]
iseq --> vm[VM dispatch]
vm <--> gc[Garbage collector]
vm <--> threads[Threads + GVL]
threads <--> ractor[Ractors]
threads <--> fibers[Fibers / Coroutines]
vm <--> io[IO subsystem]
vm <--> regex[Onigmo regex]
vm <--> enc[Encoding / M17N]
vm <--> loader[Require / Loader]Pages in this section
| Page | What it covers |
|---|---|
| parser.md | The parse.y Bison/Lrama grammar and its NODE AST |
| prism.md | The Prism portable parser |
| compiler.md | compile.c — AST to bytecode |
| vm.md | The VM dispatch loop, frames, calls, inline caches |
| gc.md | The garbage collector and gc/ plugin interface |
| threading.md | Native threads, GVL, and the M:N scheduler |
| ractor.md | The actor-style parallel execution model |
| fiber.md | Cooperative coroutines and the Fiber Scheduler |
| encoding.md | M17N, encodings, and transcoding |
| regexp.md | The bundled Onigmo regex engine |
| io.md | The IO subsystem and IO::Buffer |
| loader.md | require, load, autoload, and $LOAD_PATH |
For JIT compilation see jits/. For the core class implementations (String, Array, etc.) see core-classes/.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.