pocketpy/docs/index.md
blueloveTH d513a3b459 ...
2023-04-23 12:42:42 +08:00

41 lines
1.0 KiB
Markdown

---
icon: home
label: Welcome
---
# Welcome to PocketPy
PocketPy is a lightweight(~8000 LOC) Python interpreter for game engines.
It is extremely easy to embed. Including a compiler, optimizer and bytecode virtual machine. All of them are available in a single header file `pocketpy.h`, without external dependencies.
## What it looks like
```python
def is_prime(x):
if x < 2:
return False
for i in range(2, x):
if x % i == 0:
return False
return True
primes = [i for i in range(2, 20) if is_prime(i)]
print(primes)
# [2, 3, 5, 7, 11, 13, 17, 19]
```
## Source Integration
We recommend to use our pre-built `pocketpy.h` in [Github Release](https://github.com/blueloveTH/pocketpy/releases/latest) page.
To compile it with your project, these flags must be set:
+ `--std=c++17` flag must be set
+ Exception must be enabled
+ RTTI is not required
!!!
You can use `g++`, `cl.exe` or `clang++` to compile your project.
For maximum performance, we recommend to `clang++` with `-O2` flag.
`clang++` can produce faster binary than `g++` or `cl.exe`.
!!!