Topics / #interpreter

Interpreter projects on GitHub

Building interpreters and virtual machines for programming languages.

As of , the most-starred Interpreter projects on GitHub are cpython (77.7K stars), php-src (40.4K stars) and xstate (30.3K stars). GitHub.Locker tracks 23 Interpreter repositories with 400.6K stars combined. The fastest-growing on October 17 was cpython, with +23 stars in a day.

23Projects
400.6KStars in total
+107Stars in a day

Hot right now

Most stars gained in a day · Oct 17

The all-time top

23 projects · by stars

  1. #1 · python/cpython

    cpython

    This is the official source code repository for CPython, the reference implementation of the Python programming language, written mainly in C.

    77.7K
  2. #2 · php/php-src

    php-src

    This is the source code of PHP, the popular general-purpose scripting language especially suited to web development — the interpreter itself, written in C.

    40.4K
  3. #3 · statelyai/xstate

    xstate

    XState is a state management and orchestration solution for JavaScript and TypeScript apps. It models complex application logic as state machines, statecharts, and actors, so behavior stays predictable, robust, and visual.

    30.3K
  1. 4

    v8

    25.3Kv8/v8 · C++

    V8 is Google's open source JavaScript engine, written in C++. This repository is the official mirror of the V8 Git repository.

  2. 5

    ruby

    23.8Kruby/ruby · Ruby

    The Ruby programming language itself: an interpreted, object-oriented language that is simple, straightforward, and extensible. This repository is the official Ruby source tree.

  3. 6

    bend

    23.8Kbendlang/bend · TypeScript

    A high-level, massively parallel programming language. It feels like Python or Haskell (closures, unrestricted recursion, continuations) but scales across many cores and GPUs with no thread or lock code to write.

  4. 7

    RustPython

    22.4KRustPython/RustPython · Rust

    RustPython is a Python 3 interpreter (tracking CPython 3.14+ behavior) written entirely in Rust.

  5. 8

    micropython

    22.1Kmicropython/micropython · C

    MicroPython is a lean and efficient open-source implementation of Python 3.x for microcontrollers, embedded systems and other constrained platforms — Python running directly on small chips.

  6. 9

    pyodide

    14.9Kpyodide/pyodide · Python

    A port of CPython to WebAssembly (via Emscripten) — a Python distribution for the browser and Node.js that can install and run Python packages from PyPI right where JavaScript runs.

  7. 10

    GulfOfMexico

    13.6KTodePond/GulfOfMexico

    Gulf of Mexico (formerly called DreamBerd) is a satirical 'perfect' programming language repo that parodies real language design through absurd, deliberately broken features like exclamation-mark statement terminators, arrays starting at -1, and a boolean value of 'maybe'.

  8. 11

    pyinstaller

    13.1Kpyinstaller/pyinstaller · Python

    PyInstaller takes a Python script and all its dependencies and bundles them into a single standalone executable or folder, so people can run the app without installing Python or any modules.

  9. 12

    compromise

    12.2Kspencermountain/compromise · JavaScript

    Compromise is a lightweight JavaScript natural-language processing library that parses text into structured data: tokenizing words and sentences, tagging part-of-speech, and letting you query phrases like numbers, names, or dates.

  10. 13

    hermes

    11.4Kfacebook/hermes · JavaScript

    Hermes is a JavaScript engine optimized for fast start-up of React Native apps, using ahead-of-time static optimization and compact bytecode instead of parsing raw JS at runtime.

  11. 14

    craftinginterpreters

    11.1Kmunificent/craftinginterpreters · HTML

    The repository for 'Crafting Interpreters', a book that teaches you to build interpreters. It holds the full text of the book, complete source for its two Lox interpreters, and the build system behind craftinginterpreters.com.

  12. 15

    quickjs

    11Kbellard/quickjs · C

    This is the public repository of QuickJS, a JavaScript engine written in C.

  13. 16

    c4

    10.8Krswier/c4 · C

    C4 is a tiny, self-hosting compiler and interpreter for a small subset of the C language, written in just four functions as an exercise in extreme minimalism.

  14. 17

    mal

    10.7Kkanaka/mal · Assembly

    Mal (Make a Lisp) is a Clojure-inspired Lisp interpreter built as a teaching tool: you implement the same interpreter in 11 incremental steps, and the project provides 95+ reference implementations across 89 languages to compare against.

  15. 18

    lua

    10.4Klua/lua · C

    This is the official development mirror of the Lua programming language's source code, showing the full commit history as maintained by the Lua team, though it is updated irregularly.

  16. 19

    monty

    8.7Kpydantic/monty · Rust

    Monty is a minimal, secure Python interpreter written in Rust, built so AI models can run generated Python code without the latency and overhead of a container sandbox.

  17. 20

    mquickjs

    6.2Kbellard/mquickjs · C

    MicroQuickJS (MQuickJS) is a JavaScript engine built for embedded systems, able to run JS programs using as little as 10 kB of RAM and about 100 kB of ROM, with speed comparable to full QuickJS.

  18. 21

    moejs

    287Calcium-Ion/moejs · Go

    moejs is a JavaScript engine written entirely in Go, meant to run small JavaScript plugins safely and fast inside a Go host program.

  19. 22

    ArcadeMaker

    154ArcadeMakerSources/ArcadeMaker · C#

    ArcadeMaker is a simple cross-platform 2D game engine that ships with its own programming language (prototyped as Exp) and an integrated IDE, modeled after GameMaker 8.

  20. 23

    GoodmansKernel

    151zer0condition/GoodmansKernel · C

    GoodmansKernel is a signed Windows kernel-mode driver that embeds the wasm3 interpreter, letting you load unsigned .wasm modules and run them inside the kernel with direct FFI access to nt/hal exports. You write kernel logic in C or Rust, compile it to wasm32, load it into the driver, and iterate without re-signing each payload.

Often tagged together