본문 바로가기

B1:기초 Basement

BNF ( EBNF ) 표기법 ( (Extended) Backus-Naur Form ))

반응형

"배커스 나우어 형"이라고 읽음.
프로그래밍 언어의 형식적 정의에 사용되는 표기법
EBNF는 반복되는 부분을 표시하기 위한 메타기호를 포함한 표기법


BNF에서 사용되는 메타기호 3가지
  (1) ::=
  (2) |
  (3) <, >

문법규칙의 좌측에는 하나의 문법구조명이 나타나고, 우측에는 구조명이나 다른기호들이 온다. 문법구조명을 비종결자(nonterminal), 단어 혹은 토큰기호를 종결자(terminal)라고 한다. 언어에는 종결자만이 나타나며, 비종결자는 문법을 정의하기 위한 것임.


EBNF(Extended BNF)에 사용되는 메타기호 2가지
  (1) {} 기호 : 0번 이상의 반복을 의미.  중괄호 내에 포함된 모든 연산자는 좌결합적이라고 가정함
  (2) [] 기호 : 선택사항을 의미

신택스 도표(Syntax Diagram)
  (1) EBNF를 그림으로 표시하는 방법
  (2) 종결자 : 원 또는 타원
  (3) 비종결자 : 사각형
  (4) 순서 : 화살표

참고할 관련개념
- 정적 시맨틱스(static semantics)
- 속성문법(attribute grammer)

Meta Links
->
http://www.google.com/search?hl=en&lr=&q=bnf+ebnf&btnG=Search

Search Results
->
http://www.garshol.priv.no/download/text/bnf.html
-> http://www.lrz-muenchen.de/~bernhard/Algol-BNF.html
-> http://hjbang.snut.ac.kr/data/pl2006/PL04.ppt
-> http://plas.hanyang.ac.kr/pl2003/resource/slide03s.pdf
-> http://www.cl.cam.ac.uk/~mgk25/iso-ebnf.html
-> What is BNF notation?  http://cuiwww.unige.ch/db-research/Enseignement/analyseinfo/AboutBNF.html

반응형