Skip to content
Python Developer's Guide
Logo
Python Developer's Guide
  • Getting started
    • Setup and building
    • Fixing “easy” issues (and beyond)
    • Git bootcamp and cheat sheet
    • Lifecycle of a pull request
    • Where to get help
    • Generative AI
  • Development workflow
    • Following Python’s development
    • Development cycle
    • Adding to the stdlib
    • Standard library extension modules
    • Changing Python’s C API
    • Changing the Python language
    • Changing CPython’s grammar
    • Porting to a new platform
    • Software Bill-of-Materials (SBOM)
    • Python Security Response Team (PSRT)
  • Issues and triaging
    • Issue tracker
    • Triaging an issue
    • GitHub labels
    • GitHub issues for BPO users
    • Triage Team
  • Documentation
    • Getting started
    • Helping with documentation
    • Style guide
    • reStructuredText markup
    • Translating
    • Helping with the Developer’s Guide
  • Testing and buildbots
    • Running and writing tests
    • Silence warnings from the test suite
    • Increase test coverage
    • Working with buildbots
    • New buildbot workers
  • Development tools
    • Argument Clinic
    • GDB support
    • Dynamic analysis with Clang
    • Tools for tracking compiler warnings
  • Core developers
    • Responsibilities
    • Accepting pull requests
    • Experts index
    • Developer log
    • Motivations and affiliations
    • How to become a core developer
    • Memorialization
  • CPython’s internals
    • CPython source code
    • Guide to the parser
    • Compiler design
    • The bytecode interpreter
    • Garbage collector design
  • Status of Python versions
  • Python Contributor’s Guide (draft)
    • [Plan for the Contributor’s Guide]
    • Introduction
    • The CPython project
      • Code of Conduct
      • Roles
      • Governance
      • Generative AI
      • GitHub
      • Directory structure
      • Communication channels
      • Outreach
    • Issues and triaging
      • Issue tracker
      • Triaging an issue
      • GitHub labels
      • Reviewing
      • Triage Team
    • Documentation contributions
      • Getting started
      • Helping with documentation
      • Style guide
      • reStructuredText markup
      • Pull request lifecycle
      • Translating
      • Helping with the Developer’s Guide
    • Code contributions
      • Setup and building
      • Git tips
      • Pull request lifecycle
      • Development workflow
        • Following Python’s development
        • Development cycle
        • Adding to the stdlib
        • Standard library extension modules
        • Changing Python’s C API
        • Changing the Python language
        • Changing CPython’s grammar
        • Porting to a new platform
        • Software Bill-of-Materials (SBOM)
        • Python Security Response Team (PSRT)
      • Testing and buildbots
        • Running and writing tests
        • Silence warnings from the test suite
        • Increase test coverage
        • Working with buildbots
        • New buildbot workers
      • Development tools
        • Argument Clinic
        • GDB support
        • Dynamic analysis with Clang
        • Tools for tracking compiler warnings
    • Core team
      • Responsibilities
      • Accepting pull requests
      • Experts index
      • Developer log
      • Motivations and affiliations
      • How to join the core team
    • Accessibility, design, and user success
    • Security and infrastructure contributions
    • Workflows
      • Install Git
      • Get the source code
      • Install Dependencies
      • Compile and build
      • Regenerating auto-created files
      • Install Git
      • Using GitHub Codespaces
Back to top
View this page
Edit this page

Guide to the parser¶

This document is now part of the CPython Internals Docs.

Next
Compiler design
Previous
CPython source code
Copyright © 2011 Python Software Foundation
Made with Sphinx and @pradyunsg's Furo