All Projects → ProgVal → Pythonvm Rust

ProgVal / Pythonvm Rust

Licence: gpl-3.0
An incomplete stackless interpreter of Python bytecode, written in Rust.

Programming Languages

rust
11053 projects
bytecode
52 projects
cpython
15 projects

Projects that are alternatives of or similar to Pythonvm Rust

Hadeslang
The Hades Programming Language
Stars: ✭ 30 (-40%)
Mutual labels:  interpreter
Goawk
A POSIX-compliant AWK interpreter written in Go
Stars: ✭ 995 (+1890%)
Mutual labels:  interpreter
O
Language for code-golf with a focus on unreadability
Stars: ✭ 46 (-8%)
Mutual labels:  interpreter
Rustpython
A Python Interpreter written in Rust
Stars: ✭ 10,261 (+20422%)
Mutual labels:  interpreter
Rascal
A simple Pascal interpreter written in rust.
Stars: ✭ 38 (-24%)
Mutual labels:  interpreter
Goscheme
Just another scheme interpreter.
Stars: ✭ 41 (-18%)
Mutual labels:  interpreter
Esta
Interpreted language and bytecode VM of my own design written in Rust [Unmaintained]
Stars: ✭ 28 (-44%)
Mutual labels:  interpreter
Cymbal
Yet another Rust implementation of the Monkey language from "Writing an Interpreter in Go" and "Writing a Compiler in Go"
Stars: ✭ 49 (-2%)
Mutual labels:  interpreter
Mips
MIPS assembler and simulator
Stars: ✭ 38 (-24%)
Mutual labels:  interpreter
U6a
Implementation of Unlambda, an esoteric programming language.
Stars: ✭ 46 (-8%)
Mutual labels:  interpreter
Nimlox
Interpreter for the 'Lox' language written in Nim
Stars: ✭ 35 (-30%)
Mutual labels:  interpreter
Brainfuck C
Brainfuck interpreter in C.
Stars: ✭ 36 (-28%)
Mutual labels:  interpreter
Antlr4 Calculator
Simple antlr4 calculator.
Stars: ✭ 40 (-20%)
Mutual labels:  interpreter
Pseudo
PSeudo - The world's simplest PLAYSTATION emulator
Stars: ✭ 31 (-38%)
Mutual labels:  interpreter
Algorithmmap
建立你的算法地图:如何高效学习算法;算法工程师:从小白到专家
Stars: ✭ 47 (-6%)
Mutual labels:  interpreter
Monkey v
[WIP] Implementation of Monkey 🐒 Language in V
Stars: ✭ 29 (-42%)
Mutual labels:  interpreter
Openxion
OpenXION - Reference Implementation of the XION Scripting Language
Stars: ✭ 40 (-20%)
Mutual labels:  interpreter
Mikrokosmos
(λ) Educational lambda calculus interpreter
Stars: ✭ 50 (+0%)
Mutual labels:  interpreter
Hermes
C-like scripting language
Stars: ✭ 48 (-4%)
Mutual labels:  interpreter
Winter
Haskell port of the WebAssembly OCaml reference interpreter
Stars: ✭ 42 (-16%)
Mutual labels:  interpreter

pythonvm-rust

Build Status

A Python virtual machine, written in Rust.

Features

  • prints strings to stdout
  • basic exceptions
  • for loops
  • functions, positional arguments, keyword arguments, *args, **kwargs
  • useable as a library
  • a fine-grained sandbox

Goals

  • Compatible with CPython 3.6's bytecode, in order to take advantage of FAT Python
  • Support CPython's implementation of the standard library
  • No crash, even when messing with code objects
  • Bytecode optimizations at runtime
  • Less bounded by the GIL than CPython

Dependencies

  • CPython 3.6 (used as a parser and bytecode compiler).
  • Rust
  • Cargo

Try it

  1. git clone https://github.com/ProgVal/pythonvm-rust.git
  2. cd pythonvm-rust
  3. python3 -m compileall -b pythonlib examples
  4. cargo run pythonlib/ examples/helloworld.pyc
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].