В чем разница между абстрактным синтаксическим деревом и конкретным синтаксическим деревом?

Я немного читал о том, как работают интерпретаторы / компиляторы, и одна область, в которой я запутался, - это разница между AST и CST. Насколько я понимаю, парсер создает CST, передает его семантическому анализатору, который превращает его в AST. Тем не менее, я понимаю, что семантический анализатор просто обеспечивает соблюдение правил. Я не очень понимаю, почему он действительно вносит какие-либо изменения, чтобы сделать его абстрактным, а не конкретным.

Что-то мне не хватает в семантическом анализаторе, или разница между AST и CST несколько искусственная?

Ответы на вопрос(9)

Ваш ответ на вопрос