# Switch Python's parsing tech to something more powerful than LL(1)

**URL:** <https://discuss.python.org/t/switch-pythons-parsing-tech-to-something-more-powerful-than-ll-1/379>\
**Category:** Ideas\
**Created:** [November 4, 2018, 5:13pm UTC](https://discuss.python.org/t/switch-pythons-parsing-tech-to-something-more-powerful-than-ll-1/379 "2018-11-04T17:13:28Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![njs](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/njs/32/204_2.png) [@njs](https://discuss.python.org/u/njs)\
**Post date:** [November 4, 2018, 9:58pm UTC](https://discuss.python.org/t/switch-pythons-parsing-tech-to-something-more-powerful-than-ll-1/379/3 "2018-11-04T21:58:14Z")

</div>

> [@guido](#):
>
> ```auto
> >>> f() = 1
> File "<stdin>", line 1
> SyntaxError: can't assign to function call
> >>> f/ = 1
> File "<stdin>", line 1
> f/ = 1
> ^
> SyntaxError: invalid syntax
> 
> ```

The two-pass handling needed to catch `f() = 1` is definitely ugly, but it does produce a better error message here :-). I don’t have an opinion on whether or not to change the parsing tech, but if we do then I hope high-quality error messages will be given serious weight when picking the replacement.

---

_[View the full topic](https://discuss.python.org/t/switch-pythons-parsing-tech-to-something-more-powerful-than-ll-1/379)._
