AST Abstract syntax tree
A tree representation of source code structure with the syntactic noise stripped away.
a + b * c becomes an addition node with a and a multiplication node as children. Parentheses and semicolons are gone — precedence is encoded in the tree's shape, which is precisely what makes it abstract.
Everything that understands code works on the AST: the compiler's later phases, ESLint rules, Babel transforms, Prettier, IDE refactorings and structural search tools like `ast-grep`. Manipulating an AST rather than text is the difference between a refactor and a find-and-replace that goes wrong.