Skip to content

Commit

Permalink
PEP 617: Grammar (#2029)
Browse files Browse the repository at this point in the history
  • Loading branch information
verhovsky authored Jul 10, 2021
1 parent f6c6e24 commit c40101b
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions pep-0617.rst
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ machinery in CPython that motivates the need for a new parser.
Some rules are not actually LL(1)
---------------------------------

Although the Python grammar is technically an LL(1) grammar (because is parsed by
Although the Python grammar is technically an LL(1) grammar (because it is parsed by
an LL(1) parser) several rules are not LL(1) and several workarounds are
implemented in the grammar and in other parts of CPython to deal with this. For
example, consider the rule for assignment expressions::
Expand Down Expand Up @@ -472,7 +472,7 @@ that parses grammar files is bootstrapped from a meta-grammar file with
Python actions that generate the grammar tree as a result of the parsing.

In the specific case of the new proposed PEG grammar for Python, having
actions allows to directly describe how the AST is composed in the grammar
actions allows directly describing how the AST is composed in the grammar
itself, making it more clear and maintainable. This AST generation process is
supported by the use of some helper functions that factor out common AST
object manipulations and some other required operations that are not directly
Expand Down Expand Up @@ -585,8 +585,8 @@ The full meta-grammar for the grammars supported by the PEG generator is:
| "?" { "?" }
| ":" { ":" }

As an illustrative example this simple grammar file allows to directly
generate a full parser that can parse simple arithmetic expressions and that
As an illustrative example this simple grammar file allows directly
generating a full parser that can parse simple arithmetic expressions and that
returns a valid C-based Python AST:

::
Expand Down

0 comments on commit c40101b

Please sign in to comment.