BNF (Backus-Naur Form, 베커스 나우르 형식)
- 프로그래밍 언어의 문법을 정의하는 방법은 여러가지인데, 그 중에 가장 널리 사용되는 방법이 BNF다.
- BNF는 문법 체계가 존재하는 간단한 Rule(규칙)을 표현하는 언어다.
- BNF에는 좌변과 우변에 기호가 나오며, 수식 한 줄을 규칙(rule)이라고 한다.
- 우변의 규칙이 좌편을 표현하는 형식이고, 우변의 기호가 다른 규칙의 좌변이면 내용을 재귀적으로 대치할 수 있다.
📌기호 및 규칙
::=
기호는 assignment operator를 의미한다.
|
는 선택을 의미한다.
- 좌변의 기호가 우변에도 나올 수 있는데, 이것은 재귀적인 규칙임을 의미한다.
<>
는 이후에 확장됨을 의미한다.
ε
는 비어 있음을 의미한다.