컴파일러
많은 프로그래밍 언어의 문법을 나타내는 데 사용되며 구문 분석의 기초가 되는 문법의 종류는?
- A정규 문법뿐
- B자연어의 문법
- C문맥 자유 문법
정답과 해설 보기
정답: C. 문맥 자유 문법
괄호의 중첩이나 if문 안에 또 if문이 있는 구조는 정규 표현식으로는 나타낼 수 없습니다. 프로그래밍 언어의 문법 대부분은 「식 → 식 + 항」과 같은 재작성 규칙의 모음인 문맥 자유 문법으로 표현되며, 구문 분석은 이 문법에 기반하여 이루어집니다. 위에서부터 규칙을 적용해 가는 LL 방식이나 아래에서부터 구성해 가는 LR 방식 등의 분석 방법이 있으며, 문법으로부터 분석기를 자동으로 만드는 도구도 있습니다. 정규 문법은 어휘 분석용이며 중첩 구조는 다룰 수 없습니다.
- A. 정규 문법으로는 괄호의 중첩 같은 구조를 나타낼 수 없습니다.
- B. 프로그래밍 언어는 자연어의 문법으로 정의하지 않습니다.
- C. 올바릅니다. 구문 분석은 문맥 자유 문법에 기반합니다.