EBNF

EBNF(Extended BNF, extended Backus–Naur form)는 BNF에 메타 기호를 추가하여 규칙을 더 간결하게 표현할 수 있도록 확장된 BNF이다. 4가지 메타 기호가 추가되었다. 메타구문 표기법 계열로, 문맥 자유 문법을 표현하는 데 사용할 수 있다. EBNF는 컴퓨터 프로그래밍 언어와 같은 형식 언어를 형식적으로 설명하는 데 사용된다. 이는 기본 BNF(배커스-나우르 형식) 메타 구문 표기법의 확장이다.

최초의 EBNF는 니클라우스 비르트에 의해 개발되었으며 비르트 구문 표기법의 일부 개념(다른 구문 및 표기법 포함)을 통합했다. 오늘날 EBNF의 다양한 변형이 사용되고 있다. 국제 표준화 기구는 1996년에 EBNF 표준인 ISO/IEC 14977을 채택했다. 그러나 자이체프(Zaytsev)에 따르면 이 표준은 "혼돈에 또 다른 세 가지 방언을 추가했을 뿐"이며 성공이 부족하다는 점을 지적한 후 다음과 같이 언급했다. ISO EBNF는 모든 ISO 표준에서 사용되지도 않는다. 휠러(Wheeler)는 EBNF를 사용할 때 ISO 표준을 사용하는 것에 반대하며 W3C XML(Extensible Markup Language) 1.0(5판)의 표기법과 같은 대체 EBNF 표기법을 고려할 것을 권장한다.

이 문서에서는 모든 EBNF에 적용되는 예에 대해 ISO에서 지정한 대로 EBNF를 사용한다. 다른 EBNF 변형은 다소 다른 구문 규칙을 사용한다.

구분메타기호의미BNF::=정의BNF |택일(OR)BNF<>비단말 기호EBNF[ ]생략 가능EBNF{ }0번 이상 반복EBNF( )와 함께 쓰임EBNF' '메타 기호 자체를 단말 기호로 사용

 같이 보기 
 정규 표현식

 외부 링크 
 ISO/IEC 14977 : 1996(E)
 BNF/EBNF variants – A table by Pete Jinks comparing several syntaxes

분류:형식 언어
분류:컴파일러 구성