Jaka jest różnica między abstrakcyjnym drzewem składni a konkretnym drzewem składni?

Czytałem trochę o tym, jak działają interpretery / kompilatory, a jednym z obszarów, w których jestem zdezorientowany, jest różnica między AST a CST. Rozumiem, że parser tworzy CST, przekazuje go do analizatora semantycznego, który zamienia go w AST. Jednak rozumiem, że analizator semantyczny...