Pratt parser
From HandWiki
In computer science, a Pratt parser is an improved recursive descent parser that associates semantics with tokens instead of grammar rules.[1] It was first described by Vaughan Pratt in the 1973 paper "Top down operator precedence",[2] and was treated in much more depth in a Masters Thesis under his supervision.[3] Pratt designed the parser originally to implement the CGOL programming language. Douglas Crockford used the technique to build JSLint.[4]
See also
References
- ↑ Simple Top-Down Parsing in Python
- ↑ Pratt, Vaughan. "Top down operator precedence." Proceedings of the 1st Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (1973).
- ↑ Van De Vanter, Michael L. "A Formalization and Correctness Proof of the CGOL Language System." (Master's Thesis). MIT Laboratory for Computer Science Technical Report MIT-LCS-TR-147 (Cambridge, Massachusetts). 1975.
- ↑ Crockford, D (2007-02-21). "Top Down Operator Precedence". http://crockford.com/javascript/tdop/tdop.html.
External links
- Pratt Parsers: Expression Parsing Made Easy
- A Pratt Parser implementation in Python
- A general-purpose configurable Pratt Parser library in Rust