mirror of
https://github.com/compiler-explorer/compiler-explorer.git
synced 2026-07-22 02:56:57 -04:00
This patch adds support for viewing the abstract syntax tree (AST) of Python source code in Compiler Explorer, matching the existing AST viewer feature for C/C++ (Clang AST). - This patch adds a helper script `ast_dump.py` that parses and dumps the AST for a Python source code file. `python -m ast` should also work, but it's not available in old versions of Python. - This patch adds an AST parser for Python which mimics the structure of the C/C++ AST parser. It also updates the Python compiler to enable AST output. - All existing and new tests pass. Assisted-by: GitHub Copilot / DeepSeek v4 Flash Assisted-by: GitHub Copilot / DeepSeek v4 Pro <!-- THIS COMMENT IS INVISIBLE IN THE FINAL PR, BUT FEEL FREE TO REMOVE IT Thanks for taking the time to improve CE. We really appreciate it. Before opening the PR, please make sure that the tests & linter pass their checks, by running `make check`. In the best case scenario, you are also adding tests to back up your changes, but don't sweat it if you don't. We can discuss them at a later date. Feel free to append your name to the CONTRIBUTORS.md file Thanks again, we really appreciate this! --> Co-authored-by: Matt Godbolt <matt@godbolt.org>
8.3 KiB
8.3 KiB
From oldest to newest contributor, we would like to thank:
- Alin Rus
- android
- Ali Utku Selen
- sudheesh001
- Malcolm Rowe
- UplinkCoder
- Anders Waldenborg
- Peter Bourgon
- Tõnis Tiigi
- Lorenz Hübschle-Schneider
- Ola Jeppsson
- Nicolas Brunie
- Iain Buclaw
- Vinzent Steinberg
- Emil Laine
- Adam Nemecek
- Arvid Gerstmann
- Tal Ben-Nun
- Amila Welihinda
- Jason Turner
- Adrian Bibby Walther
- Johan Engelen
- Sahnvour
- Brian Cain
- Alexander Monakov
- David Nadlinger
- Marc Poulhiès
- Carlos van Rooijen
- Kaartic Sivaraam
- Lilian A. Moraru
- Tim Rakowski
- Hana Dusíková
- Ilya Yaroshenko
- Honggyu Kim
- richardthe3rd
- Sam Kellett
- Jean-Michaël Celerier
- Mike Cochrane
- gnaggnoyil
- Bernardo Sulzbach
- Nils Deppe
- Mustafa Serdar Sanli
- Ethiraric
- Windel Bouwman
- Daniel Rosenwasser
- Karlis Senko
- Ray Hamel
- Sylvain Corlay
- Andrew Gresyk
- Corentin Jabot
- Ethan Smith
- Shubham Rawat
- AMS21
- Darcy Beurle
- Michael Bradshaw
- Matthew Webb
- phuclv90
- Nicole Mazzuca
- Jameson Nash
- Raul Tambre
- Dominic Kempf
- Marc Tiehuis
- Petter Wahlman
- Miguel Ojeda
- Niek J. Bouman
- Erik Little
- Jülich Supercomputing Centre
- Niall Douglas
- Daniel Black
- Gennadiy Civil
- Paul Scharnofske
- Sebastian Staffa
- Luka Prebil Grintal
- Andreas Jonson
- Sam Clegg
- Austin Morton
- Matt Hammerly
- Christian Vonrüti
- Alessandro Vergani
- Sebastian Rath
- Haze Booth
- Cassie Jones
- Bastien Penavayre
- Dave Rodgman
- Will Lovett
- Mark Gillard
- Ethan Slattery
- Kale Blankenship
- George Gribkov
- Artem Akatev
- Danil Yarantsev
- Krists Niedritis
- Julian Hammer
- Peter Schussheim
- Robert Cohn
- Serzhan Nasredin
- Jeremy Overesch
- Arseniy Zaostrovnykh
- Julien Marrec
- Dan Okken
- Shivam Gupta
- Tamir Bahar
- Jason Meisel
- Nabeel Omer
- Daniel Below
- Oleksandr Muliar
- Quinton Miller
- Kevin Adler
- Björn Gustavsson
- Steven He
- Gregory Anders
- Marcus Geelnard
- Haneef Mubarak
- Jeremy Rifkin
- Ankur Saini
- m8mble
- Anders-T
- Adam Sandberg Eriksson
- Ross Smyth
- Mike Urbach
- J. Ryan Stinnett
- Fábio S. V. Medeiros
- Jackson Machado
- Cordell Bloor
- Sebastian Büttner
- Madhur Chauhan
- VoltrexKeyva
- Johel Ernesto Guerrero Peña
- Ali
- Vlad Serebrennikov
- Mauro Baladés
- Jorge López
- Spydr06
- Simon Sobisch
- Marc Auberer
- Seyed Ali Ghasemi
- Guo Ci
- Rupert Tombs
- Andrew Brey
- Weile Wei
- Anirudh Sundar Subramaniam
- Julian van Doorn
- Andrea Tomasi
- Khyber Sen
- Matthew Guidry
- Adam Thibert
- Nazım Can Altınova
- Nicholas Hubbard
- Detjon Mataj
- Pierre Bayerl
- James Touton
- Waqar Ahmed
- Vipul Cariappa
- Niles Salter
- Stephen Heumann
- Joshua Batty
- Dana Jansens
- Mathias Gredal
- RongDong Xu
- Adrien Bertrand
- Roberto Parolin
- Alfredo Correa
- Oscar Amoros Huguet
- Florian Freitag
- Trevor Gross
- Alex Trotta
- natinusala
- LJ
- Frank Leon Rose
- Oguz Ulgen
- Josh Brice
- Sean Garwood
- Victor Vianna
- Piers Wombwell
- Sirui Mu
- Connor Simms