New submission from Pablo Galindo Salgado :
Check https://github.com/we-like-parsers/cpython/issues/132 for context.
--
messages: 370915
nosy: pablogsal
priority: normal
severity: normal
status: open
title: Speed up PEG parser by using operator precedence for binary operators
Change by Pablo Galindo Salgado :
--
assignee: -> pablogsal
___
Python tracker
<https://bugs.python.org/issue40902>
___
___
Python-bugs-list mailing list
Un
Change by Pablo Galindo Salgado :
--
components: +Interpreter Core
versions: +Python 3.10, Python 3.9
___
Python tracker
<https://bugs.python.org/issue40
Change by Pablo Galindo Salgado :
--
keywords: +patch
pull_requests: +19911
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/20696
___
Python tracker
<https://bugs.python.org/issu
Change by Pablo Galindo Salgado :
--
keywords: +patch
nosy: +pablogsal
nosy_count: 1.0 -> 2.0
pull_requests: +19912
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/20697
___
Python tracker
<https://bugs.p
Change by Pablo Galindo Salgado :
--
assignee: -> pablogsal
___
Python tracker
<https://bugs.python.org/issue40903>
___
___
Python-bugs-list mailing list
Un
Change by Pablo Galindo Salgado :
--
keywords: +patch
pull_requests: +19916
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/20701
___
Python tracker
<https://bugs.python.org/issu
Pablo Galindo Salgado added the comment:
New changeset 972ab0327675e695373fc6272d5ac24e187579ad by Pablo Galindo in
branch 'master':
bpo-40904: Fix segfault in the new parser with f-string containing yield
statements with no value (GH-20701)
https://github.com/python/cpyt
Pablo Galindo Salgado added the comment:
Thanks, Steve for the report!
--
nosy: -miss-islington
___
Python tracker
<https://bugs.python.org/issue40904>
___
___
Change by Pablo Galindo Salgado :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Change by Pablo Galindo Salgado :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Pablo Galindo Salgado added the comment:
> The new test fails with the old parser:
I fixed it this morning in https://github.com/python/cpython/pull/20717
--
___
Python tracker
<https://bugs.python.org/issu
Pablo Galindo Salgado added the comment:
isn't PR 20759 backwards incompatible? If I understand correctly, this would
break anyone that is checking for identity as :
assert mymock.called is True
--
nosy: +pablogsal
___
Python tracker
&
Pablo Galindo Salgado added the comment:
> Correct, it is not backward compatible in that respect.
Unfortunately, we take backwards compatibility very seriously in the core team
and this is a big downside of this proposal.
> I can instead add the called_event property
Wouldn'
Pablo Galindo Salgado added the comment:
Joannah, Eric, could you look into this? Having random failures in the builbots
can make debugging more challenging, hide other issues and can also spam the
buildbot list :(
--
___
Python tracker
<ht
New submission from Pablo Galindo Salgado :
As stated in PEP 617, the old parser will be removed in Python 3.10
--
assignee: pablogsal
components: Interpreter Core
messages: 371182
nosy: pablogsal
priority: normal
severity: normal
status: open
title: Remove the old parser
versions
Change by Pablo Galindo Salgado :
--
nosy: +gvanrossum, lys.nikolaou
___
Python tracker
<https://bugs.python.org/issue40939>
___
___
Python-bugs-list mailin
Change by Pablo Galindo Salgado :
--
keywords: +patch
pull_requests: +19972
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/20768
___
Python tracker
<https://bugs.python.org/issu
Pablo Galindo Salgado added the comment:
> 1. called is almost never used in practice (people just use .assert*)
Sorry but saying "almost never used" is not good enough. Not only because you
hold incomplete data but because backwards compatibility is mainly binary: it
breaks o
Pablo Galindo Salgado added the comment:
> Current implementation relies on that:
Notice that this is a clear disadvantage over a subclass-based approach, which
is backwards compatible and preserves the semantics of mock.
--
___
Python trac
Change by Pablo Galindo Salgado :
--
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.org/issue40902>
___
___
Change by Pablo Galindo Salgado :
--
resolution: -> postponed
___
Python tracker
<https://bugs.python.org/issue40902>
___
___
Python-bugs-list mailing list
Un
Pablo Galindo Salgado added the comment:
New changeset 896f4cf63f9ab93e30572d879a5719d5aa2499fb by Lysandros Nikolaou in
branch 'master':
bpo-40847: Consider a line with only a LINECONT a blank line (GH-20769)
https://github.com/python/cpython/commit/896f4cf63f9ab93e30572d879a5719
Change by Pablo Galindo Salgado :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Pablo Galindo Salgado added the comment:
New changeset 9727694f08cad4b019d2939224e3416312b1c0e1 by Lysandros Nikolaou in
branch 'master':
bpo-40939: Generate keyword.py using the new parser (GH-20800)
https://github.com/python/cpython/commit/9727694f08cad4b019d2939224e341
Pablo Galindo Salgado added the comment:
> I guess we could just remove this, as soon as the old parser is out. We were
> only using this to differentiate between the two parsers, when we were
> testing enabling/disabling the old one. I could get a PR ready to be merged
> after
Pablo Galindo Salgado added the comment:
Ok, let's remove it. Lysandros can you modify PR 20802 to remove it?
--
___
Python tracker
<https://bugs.python.org/is
Pablo Galindo Salgado added the comment:
New changeset 1ed83adb0e95305af858bd41af531e487f54fee7 by Pablo Galindo in
branch 'master':
bpo-40939: Remove the old parser (GH-20768)
https://github.com/python/cpython/commit/1ed83adb0e95305af858bd41af531e
Change by Pablo Galindo Salgado :
--
pull_requests: +20012
pull_request: https://github.com/python/cpython/pull/20814
___
Python tracker
<https://bugs.python.org/issue40
Change by Pablo Galindo Salgado :
--
pull_requests: +20013
pull_request: https://github.com/python/cpython/pull/20815
___
Python tracker
<https://bugs.python.org/issue40
Pablo Galindo Salgado added the comment:
> A few remaining references to the good old times of the old parser:
Thanks Victor, opened https://github.com/python/cpython/pull/20815 to address
those.
--
___
Python tracker
<https://bugs.pyth
Pablo Galindo Salgado added the comment:
New changeset 3782497cc22e70b41e32ac09cb06d3948074d8a7 by Pablo Galindo in
branch '3.9':
[3.9] bpo-40939: Fix test_keyword for the old parser (GH-20814)
https://github.com/python/cpython/commit/3782497cc22e70b41e32ac09cb06d3
Change by Pablo Galindo Salgado :
--
pull_requests: +20018
pull_request: https://github.com/python/cpython/pull/20822
___
Python tracker
<https://bugs.python.org/issue40
Pablo Galindo Salgado added the comment:
New changeset 756180b4bfa09bb77394a2b3754d331181d4f28c by Pablo Galindo in
branch 'master':
bpo-40939: Clean and adapt the peg_generator directory after deleting the old
parser (GH-20822)
https://github.com/python/cpyt
Change by Pablo Galindo Salgado :
--
nosy: +lys.nikolaou
___
Python tracker
<https://bugs.python.org/issue40958>
___
___
Python-bugs-list mailing list
Unsub
Pablo Galindo Salgado added the comment:
Lysandros, could you take a look?
--
___
Python tracker
<https://bugs.python.org/issue40958>
___
___
Python-bugs-list m
Pablo Galindo Salgado added the comment:
Christian, what test are you running to get the error?
--
___
Python tracker
<https://bugs.python.org/issue40
Pablo Galindo Salgado added the comment:
Note that although we could just exit if the length of the line is smaller than
the column offset before calling
https://github.com/python/cpython/blob/master/Parser/pegen.c#L148 (I assume
that is the problem) is more important to understand how are
Pablo Galindo Salgado added the comment:
Seems that just this (at top level):
>> yield from
is able to produce a situation where the column offset is bigger than the line
length:
Col offset is 11 and line is 10
--
___
Python tracker
Change by Pablo Galindo Salgado :
--
Removed message: https://bugs.python.org/msg371364
___
Python tracker
<https://bugs.python.org/issue40958>
___
___
Python-bug
Pablo Galindo Salgado added the comment:
You can get an assert failure without ASAN with this patch:
diff --git a/Parser/pegen.c b/Parser/pegen.c
index e29910bf86..65fa44921f 100644
--- a/Parser/pegen.c
+++ b/Parser/pegen.c
@@ -145,6 +145,9 @@ byte_offset_to_character_offset(PyObject *line
Pablo Galindo Salgado added the comment:
Correcting my previous post (deleted):
You can get an assert failure without ASAN with this patch:
diff --git a/Parser/pegen.c b/Parser/pegen.c
index e29910bf86..65fa44921f 100644
--- a/Parser/pegen.c
+++ b/Parser/pegen.c
@@ -145,6 +145,9
Pablo Galindo Salgado added the comment:
I theorize that this happens when the error points to the end of the line. I
assume that the difference between col_offset and PyUnicode_GET_LENGTH(line)
may be still bigger than 1 if the line contains some Unicode stuff like with:
>> "Ṕýţ
Pablo Galindo Salgado added the comment:
Lysandros, are you using a debug build? The assert() won't trigger if you don't
have run configure with --with-pydebug. I would recommend to:
make distclean && ./configure --wi
Pablo Galindo Salgado added the comment:
Oh, I was confused by this:
> Running Pablo's examples in the REPL does not reproduce the errors either:
I thought you meant that you could not reproduce the crash also with my patch.
For the ASAN, you may need the newer gcc and other stuf
Pablo Galindo Salgado added the comment:
> Is the only way to get gcc-10.1 to build from source? Because currently my
> internet connection is too slow to get all of gcc downloaded and `apt install
> gcc-10` installs 10.0.1, which I'm getting totally unrelated erros with.
I
Pablo Galindo Salgado added the comment:
> returns an object that is one character shorter than the col_offset and
> that's how we get to the situation you mentioned.
What happens with:
>>> "Ṕýţĥòñ" +
--
Pablo Galindo Salgado added the comment:
Well, I think the solution here is to clip the col_offset to the line length
and maybe adding assert that the difference is not bigger than 1.
--
___
Python tracker
<https://bugs.python.org/issue40
Pablo Galindo Salgado added the comment:
Can you run the test suite before/after of pyflakes to make sure we don't
introduce any regression to double check? If everything looks fine, open a PR :)
--
___
Python tracker
<https://bugs.py
Pablo Galindo Salgado added the comment:
Ok, I was able to reproduce:
❯ gcc --version
gcc (GCC) 10.1.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
Pablo Galindo Salgado added the comment:
> This line is wrong though, since PyUnicode_GET_LENGTH returns the length in
> code points
Whoops! Thanks for pointing that out. In any case, the patch still shows that
the ASAN error goes away by limiting the access to the string so I suppos
Change by Pablo Galindo Salgado :
--
keywords: +patch
pull_requests: +20035
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/20842
___
Python tracker
<https://bugs.python.org/issu
Pablo Galindo Salgado added the comment:
> less opcodes = faster evaluation
Unfortunately, that is not always true as opcodes can have arbitrary complexity
and there are very low-level effects that are relevant in the eval loop. Even
if it is better, the improvement may not be worth burn
Change by Pablo Galindo Salgado :
--
pull_requests: +20063
pull_request: https://github.com/python/cpython/pull/20875
___
Python tracker
<https://bugs.python.org/issue40
Change by Pablo Galindo Salgado :
--
nosy: +pablogsal
nosy_count: 5.0 -> 6.0
pull_requests: +20064
pull_request: https://github.com/python/cpython/pull/20876
___
Python tracker
<https://bugs.python.org/issu
Pablo Galindo Salgado added the comment:
New changeset 10c3b2120afa01b2c310ac50e99d8b98c943b0a2 by Pablo Galindo in
branch 'master':
bpo-40890: Fix compiler warning in dictobject.c (GH-20876)
https://github.com/python/cpython/commit/10c3b2120afa01b2c310ac50e99d8b
Pablo Galindo Salgado added the comment:
New changeset 113e2b0a07c72c0d5e3489076afb14f6b3ad1049 by Lysandros Nikolaou in
branch 'master':
bpo-40985: Show correct SyntaxError text when last line has a LINECONT
(GH-20888)
https://github.com/python/cpyt
Pablo Galindo Salgado added the comment:
New changeset 51c5896b6205911d29ac07f167ec7f3cf1cb600d by Pablo Galindo in
branch 'master':
bpo-40958: Avoid buffer overflow in the parser when indexing the current line
(GH-20875)
https://github.com/python/cpyt
Change by Pablo Galindo Salgado :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Pablo Galindo Salgado added the comment:
New changeset 7795ae8f05a5b1134a576a372f64699176cac5fb by Miss Islington (bot)
in branch '3.9':
bpo-40958: Avoid buffer overflow in the parser when indexing the current line
(GH-20875) (GH-20919)
https://github.com/python/cpyt
Pablo Galindo Salgado added the comment:
Hu, that is because now lineno, col_offset, end_lineno, end_col_offset are
Py_ssize_t so we probably need to adapt the other assignments. WIll make a PR
soon
--
___
Python tracker
<ht
Pablo Galindo Salgado added the comment:
New changeset 01ece63d42b830df106948db0aefa6c1ba24416a by Lysandros Nikolaou in
branch 'master':
bpo-40334: Produce better error messages on invalid targets (GH-20106)
https://github.com/python/cpython/commit/01ece63d42b830df106948db0aefa6
Pablo Galindo Salgado added the comment:
New changeset a5442b26f46f1073d1eb78895d554be520105ecb by Lysandros Nikolaou in
branch '3.9':
[3.9] bpo-40334: Produce better error messages on invalid targets (GH-20106)
(GH-20973)
https://github.com/python/cpyt
Pablo Galindo Salgado added the comment:
New changeset 55460ee6dc9a4f16bd68d6b6be3a8398c7d4a596 by Batuhan Taskaya in
branch 'master':
bpo-41044: Generate valid PEG python parsers for opt+seq rules (GH-20995)
https://github.com/python/cpython/commit/55460ee6dc9a4f16bd68d6b6be3a83
Change by Pablo Galindo Salgado :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Pablo Galindo Salgado added the comment:
New changeset 314858e2763e76e77029ea0b691d749c32939087 by Lysandros Nikolaou in
branch 'master':
bpo-40939: Remove the old parser (Part 2) (GH-21005)
https://github.com/python/cpython/commit/314858e2763e76e77029ea0b691d74
Change by Pablo Galindo Salgado :
--
nosy: +lys.nikolaou
___
Python tracker
<https://bugs.python.org/issue41060>
___
___
Python-bugs-list mailing list
Unsub
Pablo Galindo Salgado added the comment:
New changeset d301d9473e9a9b78d6e6678e9fe5ef66d46084e1 by Lysandros Nikolaou in
branch '3.9':
[3.9] bpo-40939: Deprecate the PyParser_SimpleParse* functions (GH-21012)
https://github.com/python/cpython/commit/d301d9473e9a9b78d6e6678e9fe5ef
Pablo Galindo Salgado added the comment:
New changeset 6c4e0bd974f2895d42b63d9d004587e74b286c88 by Lysandros Nikolaou in
branch 'master':
bpo-41060: Avoid SEGFAULT when calling GET_INVALID_TARGET in the grammar
(GH-21020)
https://github.com/python/cpyt
Change by Pablo Galindo Salgado :
--
pull_requests: +20197
pull_request: https://github.com/python/cpython/pull/21025
___
Python tracker
<https://bugs.python.org/issue40
Pablo Galindo Salgado added the comment:
New changeset 564cd187677ae8d1488c4d8ae649aea34ebbde07 by Lysandros Nikolaou in
branch 'master':
bpo-40939: Rename PyPegen* functions to PyParser* (GH-21016)
https://github.com/python/cpython/commit/564cd187677ae8d1488c4d8ae649ae
Pablo Galindo Salgado added the comment:
This is already implemented in master with the new PEG parser so closing this.
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bug
Pablo Galindo Salgado added the comment:
New changeset 4b85e60601489f9ee9dd2909e28d89a31566887c by Lysandros Nikolaou in
branch 'master':
bpo-41119: Output correct error message for list/tuple followed by colon
(GH-21160)
https://github.com/python/cpyt
Pablo Galindo Salgado added the comment:
New changeset 2e0a920e9eb540654c0bb2298143b00637dc5961 by Lysandros Nikolaou in
branch 'master':
bpo-41084: Adjust message when an f-string expression causes a SyntaxError
(GH-21084)
https://github.com/python/cpyt
Pablo Galindo Salgado added the comment:
New changeset d01a3e76ee0519cba3ccdb5de47b25ec2ed7bee4 by Lysandros Nikolaou in
branch '3.9':
[3.9] bpo-41119: Output correct error message for list/tuple followed by colon
(GH-21160) (GH-21172)
https://github.com/python/cpyt
Pablo Galindo Salgado added the comment:
> Why would pymalloc be preferred?
For such small and temporary string is normally faster because it will likely
have pools of that size readily available and it will also benefit further
allocation of the same pool s
Pablo Galindo Salgado added the comment:
New changeset 6dcbc2422de9e2a7ff89a4689572d84001e230b2 by Lysandros Nikolaou in
branch 'master':
bpo-41132: Use pymalloc allocator in the f-string parser (GH-21173)
https://github.com/python/cpython/commit/6dcbc2422de9e2a7ff89a4689572d8
Pablo Galindo Salgado added the comment:
I would say yes unless someone sees an obvious impediment
--
___
Python tracker
<https://bugs.python.org/issue41
Pablo Galindo Salgado added the comment:
New changeset c8f29ad986f8274fc5fbf889bdd2a211878856b9 by Batuhan Taskaya in
branch 'master':
bpo-40769: Allow extra surrounding parentheses for invalid annotated assignment
rule (GH-20387)
https://github.com/python/cpyt
Change by Pablo Galindo Salgado :
--
pull_requests: +20341
pull_request: https://github.com/python/cpython/pull/21186
___
Python tracker
<https://bugs.python.org/issue40
Pablo Galindo Salgado added the comment:
New changeset 102ca529ef5d45b9ef70a341705ddf2577914135 by Pablo Galindo in
branch '3.9':
[3.9] bpo-40769: Allow extra surrounding parentheses for invalid annotated
assignment rule (GH-20387) (GH-21186)
https://github.com/python/cpyt
Change by Pablo Galindo Salgado :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Pablo Galindo Salgado added the comment:
New changeset 1f0f4abb110b9fbade6175842b6a26ab0b8df6dd by Lysandros Nikolaou in
branch 'master':
bpo-41076: Pre-feed the parser with the f-string expression location (GH-21054)
https://github.com/python/cpyt
Change by Pablo Galindo Salgado :
--
pull_requests: +20344
pull_request: https://github.com/python/cpython/pull/21190
___
Python tracker
<https://bugs.python.org/issue41
Pablo Galindo Salgado added the comment:
New changeset dab533d0ee067159812d4ea51f6fbbb1bd37d8b7 by Pablo Galindo in
branch '3.9':
[3.9] bpo-41076: Pre-feed the parser with the f-string expression location
(GH-21054) (GH-21190)
https://github.com/python/cpyt
Pablo Galindo Salgado added the comment:
New changeset 60eb9f1ab59a59ddf81d3da3513cfa3251169b5c by Pablo Galindo in
branch 'master':
bpo-39151: Simplify DFS in the assembler (GH-17733)
https://github.com/python/cpython/commit/60eb9f1ab59a59ddf81d3da3513cfa
Change by Pablo Galindo Salgado :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Pablo Galindo Salgado added the comment:
New changeset 8df1016e2ef8c0a9f4d15bf7894c284295c99d9f by Batuhan Taskaya in
branch 'master':
bpo-38870: Extend subject of ast.unparse warnings (GH-21053)
https://github.com/python/cpython/commit/8df1016e2ef8c0a9f4d15bf7894c28
Change by Pablo Galindo Salgado :
--
pull_requests: +20345
pull_request: https://github.com/python/cpython/pull/21191
___
Python tracker
<https://bugs.python.org/issue38
Pablo Galindo Salgado added the comment:
New changeset 6e3a246a019a356e1befcdfd3d54a52cb7b5 by Pablo Galindo in
branch '3.9':
[3.9] bpo-38870: Extend subject of ast.unparse warnings (GH-21053) (GH-21191)
https://github.com/python/cpython/commit/6e3a246a019a356e1befcdfd3d
Pablo Galindo Salgado added the comment:
> Pablo, correct me if I'm wrong, but I think that the parser has nothing to do
> with this. It's not the parser that produces this SyntaxError, it's some
> later compilation phase (I guess symtable creation phase?), which I
Pablo Galindo Salgado added the comment:
New changeset 990efe0fff749773887a50cb1ecb2c5d09263cf8 by Lysandros Nikolaou in
branch '3.9':
[3.9] bpo-41084: Fix test_fstring failure when using the old parser (GH-21212)
https://github.com/python/cpyt
Pablo Galindo Salgado added the comment:
> 1) We should alter code in symtable.c to check whether the namespace in which
> the nonlocal statement appears in is a function block and whether it is
> nested or not.
We already raise in this case. Consider this 'test.py'
Pablo Galindo Salgado added the comment:
>1) We should alter code in symtable.c to check whether the namespace in which
>the nonlocal statement appears in is a function block and whether it is nested
>or not.
Also, the 'nesting' has very specific meanings in the symbol t
Pablo Galindo Salgado added the comment:
> At least the fact that the SyntaxError message is some for both of
Well, is the same because the semantics are the same: a symbol is missing in
the expected scopes. The only difference is that in the first case is not even
possible to &quo
Pablo Galindo Salgado added the comment:
first case -> second case
--
___
Python tracker
<https://bugs.python.org/issue19335>
___
___
Python-bugs-list mai
Pablo Galindo Salgado added the comment:
Yeah, I am +1 on moving this and on the current solution in PR6766
--
___
Python tracker
<https://bugs.python.org/issue33
Pablo Galindo Salgado added the comment:
I agree with what Tim said. We also cannot foresee every possible bug of
someone misusing the C API, and the garbage collector interacts with many
systems of the VM, and having gigantic documentation has shown to be always
detrimental.
> I think
Change by Pablo Galindo Salgado :
--
keywords: +patch
nosy: +pablogsal
nosy_count: 5.0 -> 6.0
pull_requests: +20486
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/21338
___
Python tracker
Change by Pablo Galindo Salgado :
--
nosy: +lys.nikolaou
___
Python tracker
<https://bugs.python.org/issue41215>
___
___
Python-bugs-list mailing list
Unsub
3001 - 3100 of 4563 matches
Mail list logo