Qual é a diferença entre uma Árvore de Sintaxe Abstrata e uma Árvore de Sintaxe Concreta?

Eu tenho lido um pouco sobre como os interpretadores / compiladores funcionam, e uma área onde eu estou ficando confuso é a diferença entre um AST e um CST. Meu entendimento é que o analisador faz um CST, passa para o analisador semântico que o transforma em um AST. No entanto, meu entendimento é que o analisador semântico simplesmente garante que as regras sejam seguidas. Eu realmente não entendo porque isso realmente faria qualquer mudança para torná-lo abstrato, em vez de concreto.

Existe algo que eu estou perdendo sobre o analisador semântico, ou a diferença entre um AST e CST é algo artificial?

questionAnswers(9)

yourAnswerToTheQuestion