This commit is contained in:
BLUELOVETH 2023-08-24 14:58:36 +08:00
parent cfe1f56489
commit fbd62c7b50
2 changed files with 62 additions and 1 deletions

View File

@ -10,6 +10,7 @@ Setup pocketpy
```cpp
#include "pocketpy.h"
using namespace pkpy;
```
Create a python virtual machine

View File

@ -29,3 +29,63 @@ The features marked with `YES` are supported, and the features marked with `NO`
| Type Annotation | `def f(a:int, b:float=1)` | YES |
| Generator | `yield i` | YES |
| Decorator | `@cache` | YES |
## Supported magic methods
#### Unary operators
+ `__repr__`
+ `__str__`
+ `__hash__`
+ `__len__`
+ `__iter__`
+ `__next__`
+ `__json__`
+ `__neg__`
+ `__bool__` (unused)
#### Logical operators
+ `__eq__`
+ `__lt__`
+ `__le__`
+ `__gt__`
+ `__ge__`
+ `__contains__`
#### Binary operators
+ `__add__`
+ `__radd__`
+ `__sub__`
+ `__rsub__`
+ `__mul__`
+ `__rmul__`
+ `__truediv__`
+ `__floordiv__`
+ `__mod__`
+ `__pow__`
+ `__matmul__`
+ `__lshift__`
+ `__rshift__`
+ `__and__`
+ `__or__`
+ `__xor__`
+ `__invert__`
#### Indexer
+ `__getitem__`
+ `__setitem__`
+ `__delitem__`
#### Specials
+ `__new__`
+ `__init__`
+ `__call__`
+ `__divmod__`
+ `__enter__`
+ `__exit__`
+ `__name__`
+ `__all__`