728x90
반응형
syntax 나타내는 방법 문법
가장 작은 계층 정규(reg),CFG,CSF,UG
Context-Free Grammar (N,T,P,S) 비단말기호, 단말기호, 생성규칙, 시작기호
Derivation -> Parse Tree (시간)
Derivation
Ambiguity
Grammar 의 결합순서등을 잘못 이해하면 모호해짐
parse tree 가 여러 개 나옴 -> 모호
아래의 parser는 <expr>+<expr>*<expr> 을 통해서 중복되는 parse tree가 만들어짐
모호성을 없애는 방법
Associativity 를 넣음, 같은 수준에서 만들 수 있기 때문에 모호성이 생김
왼쪽 오른쪽 둘다 트리를 만들 수 있는 게 아니라 한쪽만 넣을 수 있게 한다.
아래에서 곱하기 같은 경우 깊이 2 에서만 할 수 있음 term 에서만 만들 수 있기 때문임
이런 기술을 precedence cascading 이라고 부름
Extended BNF(EBNF)
Power(EBNF) = Power(BNF)
문법이 모호하면 parser tree도 모호하다.
BNF 에 Alternative, optional, repetitions 을 넣은게 EBNF
728x90
반응형
'공부 > 프로그래밍 언어론' 카테고리의 다른 글
[프로그래밍 언어론 과제] 7. Prolog 로 팩토리얼 구현 (0) | 2021.05.21 |
---|---|
[프로그래밍 언어론] 10. 구문론 (1) | 2021.04.13 |
[프로그래밍 언어론] 6. 프로그래밍 언어의 발전 3 (0) | 2021.04.13 |
[프로그래밍 언어론] 4. 프로그래밍 언어의 발전 1 (0) | 2021.04.12 |
[프로그래밍 언어론] 2. 언어의 기능 (0) | 2021.04.12 |