문자 나열에서 구조로
2+3×4를 읽을 때 단순히 왼쪽부터 계산하는 대신 곱셈이 덧셈 안의 한 부분이라는 구조를 파악할 수 있다. 파서는 언어의 문법을 사용해 이런 결합 관계를 표현한다. 우선순위와 괄호는 구조를 결정하는 단서다.
어휘 분석과의 구분
어휘 분석은 문자들을 식별자와 숫자, 연산자 같은 토큰으로 구분하는 단계로 설명할 수 있다. 구문 분석은 그 토큰들이 어떤 문법적 관계로 묶이는지 다룬다. 실제 구현이 두 단계를 얼마나 나누는지는 도구와 언어에 따라 다르다.
문법적으로 맞아도 생기는 오류
문법에 맞는 구조를 만들었다고 프로그램의 모든 의미가 올바른 것은 아니다. 선언되지 않은 이름이나 맞지 않는 자료형 등의 문제는 별도 분석에서 드러날 수 있다. 파싱 성공과 실행 성공을 같은 뜻으로 보아서는 안 된다.
분석 결과의 활용
구문 구조는 컴파일과 코드 변환, 개발 도구의 분석 등에 사용된다. 같은 입력을 어떤 문법으로 읽는지에 따라 구조가 달라질 수 있으므로 언어와 문법 버전을 명시하는 것이 중요하다.