개발/EBNF

BNF 표현 방법 BNF (Backus-Naur Form)는 프로그래밍 언어의 형식적 정의(formal definition)을 위해 가장 널리 사용되는 방법입니다 이 표기법은 메타 기호(meta-symbol; 메타기호는 표현하려는 언어의 일부분이 아니라, 그 언어를 표현하려고 사용된 특수기호)로서 세 가지 기호를 사용합니다 논터미널기호는 로 묶어 표현 대체(replacement)는 ::= 사용 양자택일은 | 를 사용 예제 3.24 BNF로 표현하기 1 논 터미널 기호인 E,T,F는 각각 , , 로 나타난다. → 는 ::= 로 표시한다 P: ::= + | - | ::= * | / | ::= () | id 예제 3.25 BNF로 표현하기 2 첫 번째 기호가 영문 소문자로 시작하고, 두 번째 기호부터는 영문 ..
EBNF EBNF의 등장 이유는 BNF를 이용해서 표현하는데 어려움이 있기 때문이다 예를들어 식별자의 길이를 지정해 준 경우 아래와 같이 엄청난 가지 수의 생성 규칙이 생성 될 수 있기 때문이다 ::= | | | | | | | ... | ::= a | b | c | ··· | z ::= 0 | 1 | 2 | ··· | 9 이와 같이 BNF는 반복되는 부분을 표시하는데 어려움을 가지기 때문에, 반복되는 부분을 쉽게 표시하면서 BNF (Backus-Naur Form)로 표시하는 방법이 EBNF이다. EBNF 표기법 반복되는 부분을 BNF 표기법보다 읽기 쉽고 간결하게 표현 BNF 표기법의 세 가지 메타 기호에 반복을 나타내는 { }와 [ ]를 추가하여 사용 {a}는a가0번이상반복될수있다는것을의미 정규표현 a..
berom
'개발/EBNF' 태그의 글 목록