Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fy0/python_lite
[WIP] A simple, lightweight implementation of python3 language.
https://github.com/fy0/python_lite
interpreter language python
Last synced: 3 months ago
JSON representation
[WIP] A simple, lightweight implementation of python3 language.
- Host: GitHub
- URL: https://github.com/fy0/python_lite
- Owner: fy0
- License: zlib
- Created: 2016-01-14T12:45:07.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-03-04T16:38:39.000Z (almost 8 years ago)
- Last Synced: 2024-08-01T03:27:34.965Z (6 months ago)
- Topics: interpreter, language, python
- Language: C
- Homepage:
- Size: 814 KB
- Stars: 77
- Watchers: 14
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- AwesomeInterpreter - python_lite
README
# 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+
```bash
mkdir build
cd build
cmake ..
```**make** (Linux/Mac/Mingw)
Open **pylite.sln** and build. (Visual Studio)## Example
hello.py
```python
print('Hello World!')
```
shell:
```bash
pylite hello.py
```No REPL yet.
## License
* Zlib