Matti Picus pushed to branch branch/py3.10 at PyPy / pypy


Commits:
c45709e0 by Nils Müller at 2022-03-29T11:32:59+02:00
(cfbolz,shimst3r): first test for pattern matching

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
51e8e060 by Tadeu Zagallo at 2022-06-22T20:28:30+02:00
Merge py3.9

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
46643dfe by Tadeu Zagallo at 2022-06-22T20:45:57+02:00
(tadeuzagallo, cfbolz): Import AST nodes from CPython

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
7afb3194 by Tadeu Zagallo at 2022-06-22T20:53:53+02:00
(tadeuzagallo, cfbolz): Uncomment `match` grammar and add location to aliases

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
b8e4281f by Tadeu Zagallo at 2022-06-22T21:07:07+02:00
(tadeuzagallo, cfbolz): Make basic `match` test pass

- Bump CPYTHON_VERSION to 3.10
- Update `rpython_generator.py` to only the grammar's basename

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
878f3315 by Tadeu Zagallo at 2022-06-23T23:06:11+02:00
(tadeuzagallo, cfbolz): Implement simple value matching in the interpreter

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
19a47c82 by Tadeu Zagallo at 2022-06-25T00:07:13+02:00
Support simple MatchAs without pattern

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
839a4074 by Tadeu Zagallo at 2022-09-12T10:02:57+02:00
[WIP] Implement MatchSequence

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
af081aa9 by Carl Friedrich Bolz-Tereick at 2022-09-12T10:21:12+02:00
add some debugging output if the stack depth computation fails

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
693f8b48 by Carl Friedrich Bolz-Tereick at 2022-09-12T10:30:28+02:00
also show the stack size after each instruction

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
73d262eb by Tadeu Zagallo at 2022-09-12T10:38:39+02:00
Fix MatchSequence

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
1001919b by Carl Friedrich Bolz-Tereick at 2022-09-12T12:21:05+02:00
fix ast rewriting for tests

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
73517dbb by Carl Friedrich Bolz-Tereick at 2022-09-12T12:21:28+02:00
fix for new constructor

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
3ecc4c5c by Carl Friedrich Bolz-Tereick at 2022-09-12T12:21:47+02:00
deal with parameters having the same name as the base class in the ast
generation code

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
b36ce8fc by Carl Friedrich Bolz-Tereick at 2022-09-12T12:25:35+02:00
merge py3.9

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
e17b87ac by Tadeu Zagallo at 2022-09-13T22:52:59+02:00
Fix MATCH_SEQUENCE stack effect and support for nested patterns in MatchSequence

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
0f961279 by Tadeu Zagallo at 2022-09-14T14:25:19+02:00
Add support for MatchSingleton

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
0bac701e by Tadeu Zagallo at 2022-09-15T10:14:49+02:00
WIP implementation of MatchMapping - missing `rest`

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
dc1e5ac1 by Tadeu Zagallo at 2022-09-15T14:07:10+02:00
Add support for MatchMapping rest capture

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
79eb585c by Tadeu Zagallo at 2022-09-15T19:19:47+02:00
Add support for MatchStar in MatchSequence

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
ea181a91 by Tadeu Zagallo at 2022-09-15T19:59:05+02:00
Add support for MatchOr

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
2558e391 by Tadeu Zagallo at 2022-09-15T20:29:15+02:00
Add support for MatchCase.guard

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
09d0dc37 by Tadeu Zagallo at 2022-09-15T21:15:38+02:00
Add support to MatchAs.pattern

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
128a8f4b by Tadeu Zagallo at 2022-09-15T22:14:06+02:00
Fix MatchCase, it should only pop if the guard succeeds

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
3544a20a by Tadeu Zagallo at 2022-09-24T18:42:50+02:00
Implement MatchClass

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
83f2c265 by Carl Friedrich Bolz-Tereick at 2022-10-02T17:21:46+02:00
remove closure and make space a local variable

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
9cde4e95 by Carl Friedrich Bolz-Tereick at 2022-10-02T20:54:01+02:00
fix some small things

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
6e3a182a by Carl Friedrich Bolz-Tereick at 2022-10-02T21:51:54+02:00
fix imaginary numbers as patterns

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
4982c5b7 by Carl Friedrich Bolz-Tereick at 2022-10-03T10:49:33+02:00
match constants in lists

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
d88e97d3 by Carl Friedrich Bolz-Tereick at 2022-10-03T10:59:46+02:00
True/False/None in dict patterns

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
dbd397d0 by Carl Friedrich Bolz-Tereick at 2022-10-03T13:44:58+02:00
stop using tuples here too

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
f091a437 by Carl Friedrich Bolz-Tereick at 2022-10-03T22:16:06+02:00
stop using reversed, add an assert isinstance

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
1d0f417d by Carl Friedrich Bolz-Tereick at 2022-10-04T10:22:28+02:00
need an unroll_safe annotation for ROT_N, since it contains a loop

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
be41df9d by Carl Friedrich Bolz-Tereick at 2022-10-04T10:25:28+02:00
remove use of magic constants

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
a8e58249 by Carl Friedrich Bolz-Tereick at 2022-10-04T10:40:33+02:00
move dict copying into its own function

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
33121121 by Carl Friedrich Bolz-Tereick at 2022-10-04T10:42:20+02:00
another unroll_safe annotation, also just make a list of the correct size

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
dbcaa207 by Carl Friedrich Bolz-Tereick at 2022-10-04T11:01:53+02:00
test and fix: when matching classes, missing attributes should fail the match,
not raise

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
92513b5d by Carl Friedrich Bolz-Tereick at 2022-10-04T11:14:53+02:00
move the MATCH_CLASS logic into its own function

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
a8b983f0 by Carl Friedrich Bolz-Tereick at 2022-10-04T20:37:42+02:00
a failing test

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
32387608 by Carl Friedrich Bolz-Tereick at 2022-12-02T20:25:40+01:00
merge py3.9

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
dcf795d6 by Carl Friedrich Bolz-Tereick at 2022-12-02T20:43:38+01:00
test and fix: support empty list of patterns

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
ca4ba0d5 by Carl Friedrich Bolz-Tereick at 2022-12-02T21:01:36+01:00
test and fix for value patterns

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
c184338c by Carl Friedrich Bolz-Tereick at 2022-12-02T21:13:45+01:00
fix for f0d3e6fea8fc

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
a6d5ea79 by Carl Friedrich Bolz-Tereick at 2022-12-03T12:45:30+01:00
test and fix: str should not be considered a sequence

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
ce41f6dd by Carl Friedrich Bolz-Tereick at 2022-12-03T13:56:31+01:00
test and fix, empty dict patterns with a *rest were broken

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
81819103 by Carl Friedrich Bolz-Tereick at 2022-12-03T16:39:14+01:00
start introducing a match context, at first only for the very simple error 
message

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
61bdab35 by Carl Friedrich Bolz-Tereick at 2022-12-07T15:05:13+01:00
fix translation

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
a82b51ff by Carl Friedrich Bolz-Tereick at 2022-12-26T11:51:42+01:00
check for duplicate assignments to the same name in a pattern

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
a20646c4 by Carl Friedrich Bolz-Tereick at 2022-12-26T22:34:12+01:00
another error message

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
d8d75774 by Carl Friedrich Bolz-Tereick at 2022-12-27T13:32:41+01:00
fix allow_always_passing handling in or-patterns

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
304e6dea by Carl Friedrich Bolz-Tereick at 2022-12-27T14:50:11+01:00
next failing test: cpython does the variable bindings only at the very end,
when the pattern is known to match

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
f13a18c4 by Carl Friedrich Bolz-Tereick at 2022-12-27T14:50:43+01:00
start moving some more logic into the MatchContext

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
d33894dd by Carl Friedrich Bolz-Tereick at 2023-01-01T21:44:35+01:00
intermediate broken commit: refactor things to put more logic into the
match_context

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
30523a8e by Carl Friedrich Bolz-Tereick at 2023-01-02T14:52:36+01:00
fixes for MatchSequence and MatchOr

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
46880529 by Carl Friedrich Bolz-Tereick at 2023-01-02T15:13:55+01:00
slowly getting there maybe?

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
0c3a3e2c by Carl Friedrich Bolz-Tereick at 2023-01-03T15:13:43+01:00
more correct

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
5aaf11fb by Carl Friedrich Bolz-Tereick at 2023-01-03T15:14:14+01:00
phew, things pass again!

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
9090524c by Carl Friedrich Bolz-Tereick at 2023-01-04T09:47:44+01:00
progress on reordering, some broken stuff

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
f34e00f8 by Carl Friedrich Bolz-Tereick at 2023-01-04T09:50:33+01:00
another passing test

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
ad678a2b by Carl Friedrich Bolz-Tereick at 2023-01-04T10:30:03+01:00
fix matchsequence stuff

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
be740744 by Carl Friedrich Bolz-Tereick at 2023-01-04T11:06:07+01:00
fix match_class

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
a9b8318f by Carl Friedrich Bolz-Tereick at 2023-01-04T20:23:11+01:00
fix the reordering logic

several bugs:
 - off-by-one in the rot_n argument handling
 - lists were reversed
 - need to sort it in descending order, not ascending

now seems to work?!

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
d7d11d62 by Carl Friedrich Bolz-Tereick at 2023-01-04T20:53:04+01:00
fix error case

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
872badf7 by Carl Friedrich Bolz-Tereick at 2023-01-04T20:57:18+01:00
simplify

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
a0c28bc8 by Matti Picus at 2023-01-05T09:09:11+02:00
close branch to be merged

--HG--
branch : py3.9-pattern-matching-experiments

- - - - -
68ad8d82 by Matti Picus at 2023-01-05T09:14:42+02:00
merge py3.9-pattern-matching-experiments which provides py3.10 pattern matching

--HG--
branch : py3.10

- - - - -
dd067252 by Matti Picus at 2023-01-05T10:04:56+02:00
resync pypy/tool/opcode3.py with lib-python/3/opcode.py, skip GEN_START (goes 
away in 3.11)

Why do we have redundancy?

--HG--
branch : py3.10

- - - - -
e9f7ee90 by Matti Picus at 2023-01-05T10:05:12+02:00
make annotator happy

--HG--
branch : py3.10

- - - - -


13 changed files:

- lib-python/3/opcode.py
- pypy/interpreter/astcompiler/assemble.py
- pypy/interpreter/astcompiler/ast.py
- pypy/interpreter/astcompiler/codegen.py
- pypy/interpreter/astcompiler/symtable.py
- + pypy/interpreter/astcompiler/test/apptest_patma.py
- pypy/interpreter/astcompiler/test/test_compiler.py
- pypy/interpreter/astcompiler/test/test_misc.py
- pypy/interpreter/astcompiler/test/test_validate.py
- pypy/interpreter/astcompiler/tools/Python.asdl
- pypy/interpreter/astcompiler/tools/asdl_py.py
- pypy/interpreter/pyopcode.py
- pypy/interpreter/pyparser/baserpypeg.py


View it on Heptapod: 
https://foss.heptapod.net/pypy/pypy/-/compare/aa6c701581b179e393df8e32baa403060d5c582c...e9f7ee907c6e16f4d4a24e4813c1495361e9d123

-- 
View it on Heptapod: 
https://foss.heptapod.net/pypy/pypy/-/compare/aa6c701581b179e393df8e32baa403060d5c582c...e9f7ee907c6e16f4d4a24e4813c1495361e9d123
You're receiving this email because of your account on foss.heptapod.net.


_______________________________________________
pypy-commit mailing list -- pypy-commit@python.org
To unsubscribe send an email to pypy-commit-le...@python.org
https://mail.python.org/mailman3/lists/pypy-commit.python.org/
Member address: arch...@mail-archive.com

Reply via email to