본문/내용
1. 서론
프로그래밍 언어의 구문은 그 언어의 기본 골격을 이룬다. 컴퓨터공학도에게 프로그래밍 언어의 구조와 표현 방법을 이해하는 것은 필수적이며, BNF와 EBNF는 이러한 이해를 돕는 강력한 도구다. 이 두 메타 언어는 프로그래밍 언어의 문법을 정의하는 데 널리 사용되며, 이 보고서에서는 BNF와 EBNF를 이용하여 간단한 산술식의 구문을 표현하고, 그 차이점과 효용성을 비교 분석한다. 나아가, 다양한 프로그래밍 패러다임을 지원하는 언어의 구문 정의 방식에 대한 이해를 높이는 데 기여하고자 한다.
BNF는 Backus-Naur Form의 약자로, 비터미널 심볼과 터미널 심볼을 이용해 문법 규칙을 재귀적으로 정의한다. 비터미널 심볼은 추상적인 문법적 개념을, 터미널 심볼은 실제 프로그램 코드에 나타나는 구체적인 기호들을 나타낸다. 예를 들어, `산술식`이라는 비터미널 심볼은 `숫자`와 `연산자` 그리고 다른 `산술식`의 조합으로 정의될 수 있다. 이러한 재귀적 정의를 통해 복잡한 문법 구조를 명확하게 표현할 수 있다는 장점이 있지만, 복잡한 문법을 표현할 때는 다소 장황해질 수 있다.
EBNF는 Extended Backus-Naur Form의 약자로, BNF를 …