"배커스 나우어 형"이라고 읽음.
프로그래밍 언어의 형식적 정의에 사용되는 표기법
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
'B1:기초 Basement' 카테고리의 다른 글
프로그래밍 언어의 요건 (0) | 2006.08.29 |
---|---|
미래사회에 되살아나는 마르크스의 망령 (0) | 2006.08.28 |
그리스 문자 (Greek Alphabet) (0) | 2006.08.27 |
컴파일러의 논리적 구조 6단계 (0) | 2006.08.27 |
블루 엔젤(Blue Angel) (0) | 2006.08.23 |