# rush Parser A crate which performs syntactic analysis on rush programs whilst creating an [AST](https://en.wikipedia.org//wiki/Abstract_syntax_tree). This crate implements a [lexer](https://en.wikipedia.org/wiki/Lexical_analysis) and a [parser](https://en.wikipedia.org/wiki/Parsing) for the rush programming language. This parser is a [recursive descent parser](https://en.wikipedia.org/wiki/Recursive_descent_parser), meaning it uses a top-down approach. For infix expressions, an [operator precedence algorithm](https://en.wikipedia.org/wiki/Operator-precedence_parser) is used. The AST generated by this crate is often validated and annotated by the [`rush-analyzer`](https://github.com/rush-rs/rush/tree/main/crates/rush-analyzer) before being fed into a compiler.