All Projects → fy0 → Python_lite

fy0 / Python_lite

Licence: zlib
[WIP] A simple, lightweight implementation of python3 language.

Programming Languages

python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language
language
365 projects

Projects that are alternatives of or similar to Python lite

Pythonvm Rust
An incomplete stackless interpreter of Python bytecode, written in Rust.
Stars: ✭ 50 (-35.06%)
Mutual labels:  interpreter
Reoscript
JavaScript-like script language engine for .NET Application. Easy to plug in .NET Application and making API extension for script. Enhanced syntax and features are also available such as lambda expression, call setTimeout with arguments, etc...
Stars: ✭ 57 (-25.97%)
Mutual labels:  interpreter
Pascalnide
Pascal Compiler for Android
Stars: ✭ 63 (-18.18%)
Mutual labels:  interpreter
Feel Scala
FEEL parser and interpreter written in Scala
Stars: ✭ 52 (-32.47%)
Mutual labels:  interpreter
Yasl
Bytecode Interpreter for Yet Another Scripting Language (YASL).
Stars: ✭ 55 (-28.57%)
Mutual labels:  interpreter
Zepto
A schemy Lisp backed by Haskell
Stars: ✭ 60 (-22.08%)
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 (-36.36%)
Mutual labels:  interpreter
Ntphp
Ever wanted to execute PHP in your kernel driver? Look no further!
Stars: ✭ 76 (-1.3%)
Mutual labels:  interpreter
Littlelang
A little language interpreter written in Go
Stars: ✭ 56 (-27.27%)
Mutual labels:  interpreter
Birlscript
Interpretador da linguagem BirlScript
Stars: ✭ 62 (-19.48%)
Mutual labels:  interpreter
Mir
A light-weight JIT compiler based on MIR (Medium Internal Representation)
Stars: ✭ 1,075 (+1296.1%)
Mutual labels:  interpreter
Lily
This repository has moved: https://gitlab.com/FascinatedBox/lily
Stars: ✭ 1,081 (+1303.9%)
Mutual labels:  interpreter
Flashforth
FlashForth development
Stars: ✭ 60 (-22.08%)
Mutual labels:  interpreter
Wasmjit
Small Embeddable WebAssembly Runtime
Stars: ✭ 1,063 (+1280.52%)
Mutual labels:  interpreter
Joker
Small Clojure interpreter, linter and formatter.
Stars: ✭ 1,161 (+1407.79%)
Mutual labels:  interpreter
Mikrokosmos
(λ) Educational lambda calculus interpreter
Stars: ✭ 50 (-35.06%)
Mutual labels:  interpreter
Tiny Lisp
A tiny lisp compiler written in JS
Stars: ✭ 58 (-24.68%)
Mutual labels:  interpreter
Oh
A new Unix shell.
Stars: ✭ 1,206 (+1466.23%)
Mutual labels:  interpreter
Mini Interpreter
A Simple Scripting Language
Stars: ✭ 72 (-6.49%)
Mutual labels:  interpreter
Sablejs
🏖️ The safer and faster ECMA5.1 interpreter written by JavaScript
Stars: ✭ 60 (-22.08%)
Mutual labels:  interpreter

pylite 简蟒 ver 0.0.9

A simple, lightweight implementation of python3-like language.

Roadmap

ver 0.1

  • lexical scope

  • exception support

  • try - except - finally

  • simple import

  • slice grammar

  • lambda function

  • argument unpack

  • package import

  • basic testcase

ver 0.2

  • eval

  • xxx if xxx else xxx grammar

  • print fix for cycle reference

  • filesystem

  • IO stream

  • 'super' type

  • repl

ver 0.3

  • dll load

  • decorator

  • multiple value assign

  • builtin regex engine

  • retval type hints

ver 0.4

  • global/nonlocal

  • local variables optimization

  • unique integers

  • operator overloading support

ver 0.5

  • yield support

  • clear memory leaks

ver 0.6

  • make closure pass by reference

ver 0.X

  • f-string

  • async/await

  • x for x in [...]

  • nameless function

  • libffi

  • JIT

won't support

  • encodings except utf-8/ucs2/ucs4

  • while/for - else

  • multiple inheritance

build

cmake is required, and a c99 compiler:

  • gcc 4.8+

  • clang 3.4+

  • vs2013+

mkdir build
cd build
cmake ..

make (Linux/Mac/Mingw)
Open pylite.sln and build. (Visual Studio)

Example

hello.py

print('Hello World!')

shell:

pylite hello.py

No REPL yet.

License

  • Zlib
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].