Hi
I’m trying to build the python peg parser following the instructions on the developers pages. I get some errors, see below.
I’m using windows 10 and python 3.10.4 and I’m building from the source for that release.
I’m trying to do this as a standalone. I dont want to completely rebuild python on windows and I dont want to use linux where I can build python.
First I try yo build parser,py - this gives errors but the file is generated. But its broken as well.
I’ve tried to make sure all the code and tools are from 3.10.4
The errors are below
Thanks in advance
John
H:.\peg_generator> py -m pegen -v python python.gram
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "H:\Computers\PythonTools\ideas\MyLisp\peg_generator\pegen\__main__.py", line 185, in <module>
main()
File "H:\Computers\PythonTools\ideas\MyLisp\peg_generator\pegen\__main__.py", line 129, in main
grammar, parser, tokenizer, gen = args.func(args)
^^^^^^^^^^^^^^^
File "H:\Computers\PythonTools\ideas\MyLisp\peg_generator\pegen\__main__.py", line 58, in generate_python_code
grammar, parser, tokenizer, gen = build_python_parser_and_generator(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "H:\Computers\PythonTools\ideas\MyLisp\peg_generator\pegen\build.py", line 259, in build_python_parser_and_generator
gen = build_python_generator(grammar, grammar_file, output_file, skip_actions=skip_actions,)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "H:\Computers\PythonTools\ideas\MyLisp\peg_generator\pegen\build.py", line 192, in build_python_generator
gen.generate(grammar_file)
File "H:\Computers\PythonTools\ideas\MyLisp\peg_generator\pegen\python_generator.py", line 154, in generate
self.visit(rule)
File "H:\Computers\PythonTools\ideas\MyLisp\peg_generator\pegen\grammar.py", line 32, in visit
return visitor(node, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "H:\Computers\PythonTools\ideas\MyLisp\peg_generator\pegen\python_generator.py", line 181, in visit_Rule
self.visit(rhs, is_loop=is_loop, is_gather=is_gather)
File "H:\Computers\PythonTools\ideas\MyLisp\peg_generator\pegen\grammar.py", line 32, in visit
return visitor(node, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "H:\Computers\PythonTools\ideas\MyLisp\peg_generator\pegen\python_generator.py", line 202, in visit_Rhs
self.visit(alt, is_loop=is_loop, is_gather=is_gather)
File "H:\Computers\PythonTools\ideas\MyLisp\peg_generator\pegen\grammar.py", line 32, in visit
return visitor(node, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "H:\Computers\PythonTools\ideas\MyLisp\peg_generator\pegen\python_generator.py", line 218, in visit_Alt
self.visit(item)
File "H:\Computers\PythonTools\ideas\MyLisp\peg_generator\pegen\grammar.py", line 32, in visit
return visitor(node, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "H:\Computers\PythonTools\ideas\MyLisp\peg_generator\pegen\python_generator.py", line 188, in visit_NamedItem
name, call = self.callmakervisitor.visit(node.item)
^^^^^^^^^^
TypeError: cannot unpack non-iterable NoneType object
H:.\peg_generator> py parse.py test.py
Requested Python version (3.8) is not installed
H:.\peg_generator> py parse.py test.py
File "H:\Computers\PythonTools\ideas\MyLisp\peg_generator\parse.py", line 33
return _PyAST_Interactive ( a , p -> arena )
^^
SyntaxError: invalid syntax
H:.\peg_generator>