]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-40334: regenerate metaparser as part of regen-all (GH-19854)
authorPablo Galindo <Pablogsal@gmail.com>
Sat, 2 May 2020 04:23:39 +0000 (05:23 +0100)
committerGitHub <noreply@github.com>
Sat, 2 May 2020 04:23:39 +0000 (05:23 +0100)
Makefile.pre.in
Tools/peg_generator/pegen/grammar_parser.py

index fa7fb1fcc167fceb74f77eae1dc1fc2622644a27..2b0b1b205a94058e136a079d6e4c132f50522900 100644 (file)
@@ -745,8 +745,9 @@ regen-importlib: Programs/_freeze_importlib
 ############################################################################
 # Regenerate all generated files
 
-regen-all: regen-opcode regen-opcode-targets regen-typeslots regen-grammar regen-pegen \
-       regen-token regen-keyword regen-symbol regen-ast regen-importlib clinic
+regen-all: regen-opcode regen-opcode-targets regen-typeslots regen-grammar \
+       regen-token regen-keyword regen-symbol regen-ast regen-importlib clinic \
+       regen-pegen-metaparser regen-pegen
 
 ############################################################################
 # Special rules for object files
@@ -820,6 +821,14 @@ regen-grammar: regen-token
        $(UPDATE_FILE) $(srcdir)/Include/graminit.h $(srcdir)/Include/graminit.h.new
        $(UPDATE_FILE) $(srcdir)/Python/graminit.c $(srcdir)/Python/graminit.c.new
 
+.PHONY: regen-pegen-metaparser
+regen-pegen-metaparser:
+       PYTHONPATH=$(srcdir)/Tools/peg_generator $(PYTHON_FOR_REGEN) -m pegen -q python \
+       $(srcdir)/Tools/peg_generator/pegen/metagrammar.gram \
+       -o $(srcdir)/Tools/peg_generator/pegen/grammar_parser.py.new
+       $(UPDATE_FILE) $(srcdir)/Tools/peg_generator/pegen/grammar_parser.py \
+       $(srcdir)/Tools/peg_generator/pegen/grammar_parser.py.new
+
 .PHONY: regen-pegen
 regen-pegen:
        @$(MKDIR_P) $(srcdir)/Parser/pegen
index 0e206ee9cd5e44bd1846f2a29b174c02520f64a2..c784cfdf3b26673fab2207bb6c066f4fb9401b5c 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python3.8
-# @generated by pegen from pegen/metagrammar.gram
+# @generated by pegen from ./Tools/peg_generator/pegen/metagrammar.gram
 
 import ast
 import sys