Reguły "Drzewo składni abstrakcyjnej" (jest to dziwna terminologia) mogą być interpretowane jako reguły, które kształtują konstrukcję składni abstrakcyjnej jako przetwarzanie. Są to zwykle napisane w reguły gramatyki dla nieterminalowi T, jako konstruktorów ponad drzewo składniowe produkowanych przez parsowania zwrotów pomocnicze T. Jeśli
T = '(' A ';' B ')' ;
jest regułą gramatyki, konstruktora AST dla T może być
T(A,B)
co oznacza budowę węzła T z dziećmi będącymi AST zbudowanymi dla A i B usterek.
Reguły semantyczne to ograniczenia, które program musi spełniać jako legalne, poza samą składnią. Można więc zbudować abstrakcyjne drzewo składniowe (z "reguł"); robi to tylko pokazuje, że program jest poprawny pod względem składniowym. Ale składnia streszczenie może powiedzieć rzeczy, które są po prostu bezsensowne semantycznie np
"declare s as function; ... s=7; ..."
Jedynym sposobem, aby sprawdzić to w ogóle jest chodzić na drzewo składniowe, zbierając fakty lokalnie (na przykład „s jest funkcją "jest faktem wyodrębnionym z deklaracji deklaracji," s ma przypisaną liczbę całkowitą "jest pobierana z przypisania) i propaguje te fakty, dopóki nie spotkają się i okaże się, że są (nie) kompatybilne.