PP UP, Python3.10

This commit is contained in:
Johan B.W. de Vries 2022-12-31 14:40:41 +01:00
parent 8f8f79d799
commit ac8daf74f5
5 changed files with 13 additions and 13 deletions

View File

@ -34,7 +34,7 @@ typecheck: venv/.done
venv/bin/mypy --strict phasm tests/integration/runners.py
venv/.done: requirements.txt
python3.8 -m venv venv
python3.10 -m venv venv
venv/bin/python3 -m pip install wheel pip --upgrade
venv/bin/python3 -m pip install -r $^
touch $@

View File

@ -12,7 +12,7 @@ This is a hobby project for now. Use at your own risk.
How to run
----------
You should only need make and python3. Currently, we're working with python3.8,
You should only need make and python3. Currently, we're working with python3.10,
since we're using the python ast parser, it might not work on other versions.
To run the examples:
@ -32,7 +32,7 @@ make lint typecheck
To compile a Phasm file:
```sh
python3.8 -m phasm source.py output.wat
python3.10 -m phasm source.py output.wat
```
Additional required tools

View File

@ -539,7 +539,7 @@ class OurVisitor:
if not isinstance(node.value, ast.Name):
_raise_static_error(node, 'Must reference a name')
if not isinstance(node.slice, ast.Index):
if isinstance(node.slice, ast.Slice):
_raise_static_error(node, 'Must subscript using an index')
if not isinstance(node.ctx, ast.Load):
@ -556,7 +556,7 @@ class OurVisitor:
_raise_static_error(node, f'Undefined variable {node.value.id}')
slice_expr = self.visit_Module_FunctionDef_expr(
module, function, our_locals, node.slice.value,
module, function, our_locals, node.slice,
)
return Subscript(varref, slice_expr)
@ -593,11 +593,11 @@ class OurVisitor:
if isinstance(node, ast.Subscript):
if not isinstance(node.value, ast.Name):
_raise_static_error(node, 'Must be name')
if not isinstance(node.slice, ast.Index):
if isinstance(node.slice, ast.Slice):
_raise_static_error(node, 'Must subscript using an index') # FIXME: Do we use type level length?
if not isinstance(node.slice.value, ast.Constant):
if not isinstance(node.slice, ast.Constant):
_raise_static_error(node, 'Must subscript using a constant index')
if not isinstance(node.slice.value.value, int):
if not isinstance(node.slice.value, int):
_raise_static_error(node, 'Must subscript using a constant integer index')
if not isinstance(node.ctx, ast.Load):
_raise_static_error(node, 'Must be load context')

View File

@ -1,10 +1,10 @@
mypy==0.812
mypy==0.991
pygments==2.12.0
pylint==2.7.4
pytest==6.2.2
pylint==2.15.9
pytest==7.2.0
pytest-integration==0.2.2
pywasm==1.0.7
pywasm3==0.5.0
wasmer==1.1.0
wasmer_compiler_cranelift==1.1.0
wasmtime==0.36.0
wasmtime==3.0.0

View File

@ -162,7 +162,7 @@ class RunnerPywasm3(RunnerBase):
memory = self.rtime.get_memory(0)
for idx, byt in enumerate(data):
memory[offset + idx] = byt # type: ignore
memory[offset + idx] = byt
def interpreter_read_memory(self, offset: int, length: int) -> bytes:
memory = self.rtime.get_memory(0)