글자보다 관계 표현하기
2+3×4의 구조를 덧셈 노드 아래에 숫자 2와 곱셈 부분을 두는 나무로 나타낼 수 있다. 이때 각 글자의 위치보다 어떤 식이 어느 식의 자식인지가 중요하다. 구조는 연산이 결합하는 방식을 드러낸다.
추상적이라는 의미
괄호와 구분자 등의 정보는 이미 나무의 관계로 표현되므로 별도 노드에서 생략될 수 있다. 다만 무엇을 남기고 생략하는지는 AST 설계에 따라 다르다. 모든 언어와 도구가 같은 노드 종류를 쓰는 것은 아니다.
원문을 완전히 되찾을 수 있는가
주석과 공백, 특정 표기 방식이 보존되지 않았다면 AST만으로 원래 파일을 글자 단위로 복원할 수 없다. 프로그램의 구조를 같은 의미로 출력하는 일과 원문을 정확히 재현하는 일은 다르다.
구조 분석과 의미 분석
AST는 프로그램을 순회하고 특정 문이나 식을 찾는 데 유용하다. 그러나 나무를 얻었다는 사실만으로 자료형과 이름의 의미, 실행 결과가 모두 결정되는 것은 아니다. 추가 정보와 분석 단계가 필요할 수 있다.