Was ist der Unterschied zwischen einem abstrakten Syntaxbaum und einem konkreten Syntaxbaum?

Ich habe ein bisschen darüber gelesen, wie Dolmetscher / Compiler arbeiten, und ein Bereich, in dem ich verwirrt bin, ist der Unterschied zwischen einem AST und einem CST. Ich verstehe, dass der Parser ein CST erstellt und es dem semantischen Analysator übergibt, der es in ein AST umwandelt. Mein Verständnis ist jedoch, dass der semantische Analysator einfach sicherstellt, dass Regeln befolgt werden. Ich verstehe nicht wirklich, warum es tatsächlich Änderungen geben würde, um es abstrakt und nicht konkret zu machen.

Gibt es etwas, das mir am Semantikanalysator fehlt, oder ist der Unterschied zwischen einem AST und einem CST etwas künstlich?

Antworten auf die Frage(9)

Ihre Antwort auf die Frage