[pypy-commit] [Git][pypy/pypy][branch/py3.9] 56 commits: experimental branch that tries to integrate the new peg parser

Carl Friedrich Bolz-Tereick (@cfbolz) foss at heptapod.net
Mon Nov 15 03:24:01 EST 2021



Carl Friedrich Bolz-Tereick pushed to branch branch/py3.9 at PyPy / pypy


Commits:
eb51d3ba by Carl Friedrich Bolz-Tereick at 2021-11-02T15:33:27+01:00
experimental branch that tries to integrate the new peg parser

--HG--
branch : py3.9-peg-parser

- - - - -
60265833 by Carl Friedrich Bolz-Tereick at 2021-11-02T19:17:50+01:00
factor slightly differently to allow reuse

--HG--
branch : py3.9-peg-parser

- - - - -
047f135c by Carl Friedrich Bolz-Tereick at 2021-11-04T13:08:13+01:00
better repr for Tokens

--HG--
branch : py3.9-peg-parser

- - - - -
f1a72025 by Carl Friedrich Bolz-Tereick at 2021-11-04T13:08:43+01:00
define and use 3.9 future flags

--HG--
branch : py3.9-peg-parser

- - - - -
fae0c559 by Carl Friedrich Bolz-Tereick at 2021-11-04T13:09:29+01:00
follow CPython's errors

--HG--
branch : py3.9-peg-parser

- - - - -
5565f360 by Carl Friedrich Bolz-Tereick at 2021-11-04T13:27:31+01:00
better position

--HG--
branch : py3.9-peg-parser

- - - - -
a9381a39 by Carl Friedrich Bolz-Tereick at 2021-11-04T13:38:42+01:00
don't call the parser

--HG--
branch : py3.9-peg-parser

- - - - -
f5eb57c7 by Carl Friedrich Bolz-Tereick at 2021-11-05T14:07:01+01:00
first step at an rpython PEG parser. Passes some tests from test_astbuilder,
test_pyparse and test_compiler. The grammar and program to generate it are here
for now:

https://github.com/cfbolz/pegen/tree/rpython-hacked-version

--HG--
branch : py3.9-peg-parser

- - - - -
b7975250 by Carl Friedrich Bolz-Tereick at 2021-11-06T12:31:13+01:00
fix tests and implementation, missing 0-based to 1-based conversion when raising
SyntaxErrors from the ast builder

--HG--
branch : py3.9-peg-parser

- - - - -
94642691 by Carl Friedrich Bolz-Tereick at 2021-11-06T17:12:24+01:00
lots of progress, but mostly still broken

--HG--
branch : py3.9-peg-parser

- - - - -
8ff55bcd by Carl Friedrich Bolz-Tereick at 2021-11-07T16:54:08+01:00
more random progress

--HG--
branch : py3.9-peg-parser

- - - - -
ec4e1e8b by Carl Friedrich Bolz-Tereick at 2021-11-07T18:28:40+01:00
move out all the python code into a regular non-generated python file

--HG--
branch : py3.9-peg-parser

- - - - -
d7eff768 by Carl Friedrich Bolz-Tereick at 2021-11-07T18:58:12+01:00
vendor pegen

--HG--
branch : py3.9-peg-parser

- - - - -
640db2b3 by Carl Friedrich Bolz-Tereick at 2021-11-07T18:59:59+01:00
add LICENSE from pegen

--HG--
branch : py3.9-peg-parser

- - - - -
531966f4 by Carl Friedrich Bolz-Tereick at 2021-11-07T19:02:00+01:00
add the rpython generator and the grammar

--HG--
branch : py3.9-peg-parser

- - - - -
30208aa2 by Carl Friedrich Bolz-Tereick at 2021-11-07T19:02:20+01:00
fix rpython

--HG--
branch : py3.9-peg-parser

- - - - -
b7711f02 by Carl Friedrich Bolz-Tereick at 2021-11-07T19:02:31+01:00
regenerate with the new code

--HG--
branch : py3.9-peg-parser

- - - - -
7a6d4f48 by Carl Friedrich Bolz-Tereick at 2021-11-07T22:39:21+01:00
make way less inefficient

--HG--
branch : py3.9-peg-parser

- - - - -
7848009a by Carl Friedrich Bolz-Tereick at 2021-11-08T20:43:08+01:00
progress on supporting "single" mode

--HG--
branch : py3.9-peg-parser

- - - - -
2bfe8809 by Carl Friedrich Bolz-Tereick at 2021-11-08T21:18:23+01:00
- fix some single tests that can't work that way any more
- fix firstlineno in the presence of different (correct!) lineno on function
  ast nodes

--HG--
branch : py3.9-peg-parser

- - - - -
962473b0 by Carl Friedrich Bolz-Tereick at 2021-11-08T21:55:22+01:00
fix broken test and also improve the error position

--HG--
branch : py3.9-peg-parser

- - - - -
22c3518b by Carl Friedrich Bolz-Tereick at 2021-11-08T22:07:51+01:00
fixes

--HG--
branch : py3.9-peg-parser

- - - - -
e81d39fe by Carl Friedrich Bolz-Tereick at 2021-11-09T11:24:09+01:00
some fixes, stdlib now parses

--HG--
branch : py3.9-peg-parser

- - - - -
44482185 by Carl Friedrich Bolz-Tereick at 2021-11-09T12:36:34+01:00
start removing the AST builder

--HG--
branch : py3.9-peg-parser

- - - - -
50b3688b by Carl Friedrich Bolz-Tereick at 2021-11-09T13:35:38+01:00
support revdb meta vars

--HG--
branch : py3.9-peg-parser

- - - - -
d0f523db by Carl Friedrich Bolz-Tereick at 2021-11-09T14:42:59+01:00
delete the ast builder! ding dong etc

--HG--
branch : py3.9-peg-parser

- - - - -
71daf3fe by Carl Friedrich Bolz-Tereick at 2021-11-09T18:31:38+01:00
disable compile method in parser module

--HG--
branch : py3.9-peg-parser

- - - - -
b7af7264 by Carl Friedrich Bolz-Tereick at 2021-11-09T21:24:54+01:00
remove more astbuilder code

--HG--
branch : py3.9-peg-parser

- - - - -
3f760ad6 by Carl Friedrich Bolz-Tereick at 2021-11-09T21:41:46+01:00
fix

--HG--
branch : py3.9-peg-parser

- - - - -
05523e1f by Carl Friedrich Bolz-Tereick at 2021-11-09T21:51:23+01:00
bpo-40847: lonely lineconts are ignored

--HG--
branch : py3.9-peg-parser

- - - - -
584d087e by Carl Friedrich Bolz-Tereick at 2021-11-09T21:59:31+01:00
improve error message for \ in the middle of a line

--HG--
branch : py3.9-peg-parser

- - - - -
f5104661 by Carl Friedrich Bolz-Tereick at 2021-11-09T22:13:56+01:00
gah

--HG--
branch : py3.9-peg-parser

- - - - -
31c2b3fc by Carl Friedrich Bolz-Tereick at 2021-11-10T10:58:16+01:00
this works now

--HG--
branch : py3.9-peg-parser

- - - - -
c75a5112 by Carl Friedrich Bolz-Tereick at 2021-11-10T11:06:11+01:00
we disabled the old parser

--HG--
branch : py3.9-peg-parser

- - - - -
d3a386d9 by Carl Friedrich Bolz-Tereick at 2021-11-10T11:08:49+01:00
complain earlier about revdbmetavars (not just in codegen)

--HG--
branch : py3.9-peg-parser

- - - - -
ce3e96e9 by Carl Friedrich Bolz-Tereick at 2021-11-10T12:16:12+01:00
fix

--HG--
branch : py3.9-peg-parser

- - - - -
38cb24d1 by Carl Friedrich Bolz-Tereick at 2021-11-10T13:06:02+01:00
a comment

--HG--
branch : py3.9-peg-parser

- - - - -
7c413c35 by Carl Friedrich Bolz-Tereick at 2021-11-10T15:11:02+01:00
merge py3.8

--HG--
branch : py3.9-peg-parser

- - - - -
35055e69 by Carl Friedrich Bolz-Tereick at 2021-11-11T12:50:49+01:00
stop mutating ASTs in the parser, it's not safe due to memoization

--HG--
branch : py3.9-peg-parser

- - - - -
aedb4d1f by Carl Friedrich Bolz-Tereick at 2021-11-11T16:02:21+01:00
fix translation, test deletion

--HG--
branch : py3.9-peg-parser

- - - - -
690acdb3 by Carl Friedrich Bolz-Tereick at 2021-11-11T19:12:51+01:00
unify all those places

--HG--
branch : py3.9-peg-parser

- - - - -
55b0e649 by Carl Friedrich Bolz-Tereick at 2021-11-11T19:13:12+01:00
add end_lineno and end_col_offset to the ast types that have them as default value None

--HG--
branch : py3.9-peg-parser

- - - - -
e1415c99 by Carl Friedrich Bolz-Tereick at 2021-11-11T20:55:12+01:00
- make sure all the things stored into the w_objects when converting asts are
  not None
- support optional string fields on asts correctly
- make several ast tests convert the asts to objects to see whether that
  crashes

--HG--
branch : py3.9-peg-parser

- - - - -
b134ef82 by Carl Friedrich Bolz-Tereick at 2021-11-12T14:29:39+01:00
- add docstrings to ast nodes
- deal properly with optional fields of ast classes: add them as None to the
  type, and only convert them if they are given

--HG--
branch : py3.9-peg-parser

- - - - -
349839cd by Carl Friedrich Bolz-Tereick at 2021-11-12T16:14:48+01:00
test and fix: got the precedence of the ternary operator wrong

--HG--
branch : py3.9-peg-parser

- - - - -
3c47c782 by Carl Friedrich Bolz-Tereick at 2021-11-12T18:30:23+01:00
this is now no longer necessary

--HG--
branch : py3.9-peg-parser

- - - - -
a4672506 by Carl Friedrich Bolz-Tereick at 2021-11-12T18:30:51+01:00
properly pass and compare python version

--HG--
branch : py3.9-peg-parser

- - - - -
8a364da9 by Carl Friedrich Bolz-Tereick at 2021-11-12T21:54:11+01:00
get the assignment/deletion target errors right

--HG--
branch : py3.9-peg-parser

- - - - -
fac9ddf0 by Carl Friedrich Bolz-Tereick at 2021-11-13T11:17:21+01:00
tokenizer errors around binary and octal numbers

--HG--
branch : py3.9-peg-parser

- - - - -
b681586a by Carl Friedrich Bolz-Tereick at 2021-11-14T15:35:34+01:00
kill astbuilder class!

--HG--
branch : py3.9-peg-parser

- - - - -
0b1e794e by Carl Friedrich Bolz-Tereick at 2021-11-14T16:34:49+01:00
fix a number of small bugs and problems

--HG--
branch : py3.9-peg-parser

- - - - -
439f4b35 by Carl Friedrich Bolz-Tereick at 2021-11-14T16:42:32+01:00
fix regression

--HG--
branch : py3.9-peg-parser

- - - - -
dac85bc8 by Carl Friedrich Bolz-Tereick at 2021-11-14T19:47:07+01:00
make extra newline after compount_stmt on the shell optional. this means the
following works again:

>>>> def f(): print(6)
>>>>

--HG--
branch : py3.9-peg-parser

- - - - -
5aa622d5 by Carl Friedrich Bolz-Tereick at 2021-11-14T19:59:39+01:00
fix a problem with generic aliases' __eq__

--HG--
branch : py3.9-peg-parser

- - - - -
d0064d65 by Carl Friedrich Bolz-Tereick at 2021-11-15T07:36:04+01:00
stop using all the complicated space call machinery to parse numbers

--HG--
branch : py3.9-peg-parser

- - - - -
fe120f89 by Carl Friedrich Bolz-Tereick at 2021-11-15T09:23:48+01:00
merge py3.9-peg-parser

switch to using CPython's PEG parsing approach. remove the old astcompiler. the
old parser remains in place for 3.9 in the parser module and will be removed in
3.10

--HG--
branch : py3.9

- - - - -


6 changed files:

- _pytest/cacheprovider.py
- extra_tests/test_generic_alias.py
- lib-python/3/test/support/__init__.py
- lib-python/3/test/test_type_comments.py
- lib_pypy/_pypy_generic_alias.py
- pypy/interpreter/astcompiler/ast.py


View it on Heptapod: https://foss.heptapod.net/pypy/pypy/-/compare/96cc12e855864e8dfc4652633a0a0378b79ac7c7...fe120f89bf07e64a41de62b224e4a3d80e0fe0d4

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


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/pypy-commit/attachments/20211115/51c9e4a5/attachment-0001.html>


More information about the pypy-commit mailing list