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

Latest commit

 

History

History
25 lines (18 loc) · 1.07 KB

README.md

File metadata and controls

25 lines (18 loc) · 1.07 KB

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.