Skip to content
This repository has been archived by the owner on Jan 9, 2022. It is now read-only.
/ Pathos Public archive

A recursive decent parser for Python code

License

Notifications You must be signed in to change notification settings

DuckLogic/Pathos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pathos: A Python Parser [DEAD]

This was my attempt at writing a recursive-decent parser by hand, for the python source code.

It worked fairly well (for a subset of code) but it was large and clunky.

I have since decided to try and avoid hand-written parsers ;)

Parser generators

If you're into parser generators, take a look at:

  1. parol - LL(k)
  2. pest - PEG
  3. tree-sitter - LR(1)
  4. lalrpop LR(1) or LALR(1)
  5. Antlr - Amazing magic but Rust bindings are experimental :(

If you're into parser combinators, take a look at:

  1. combine - Looks neat
  2. chumsky - Excellent error recovery and messagses
  3. nom - Stable

ASTs

I did some work on ASDLR ASTs here. That has since moved to a seperate project.

About

A recursive decent parser for Python code

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published