728x90
Denotational semantics(표시적 의미론) 예제를 보여주실 수 있으신가요?
Denotational semantics(표시적 의미론)이란 컴퓨터 언어에서
계산식 또는 수학적 메커니즘을 개발자가 이해할 수 있는 방식으로 표시한 것이다.
한마디로 프로그래밍에 있는 계산식을 Denotational semantics 방식의 문자로 표현했다고 보면 된다.
위의 문법은 Denotational semantics를 이해하고자 만든 example이다.
Grammar와 Semantics를 통해 주어진 값을 어떻게 산출해야 할지 알 수 있다.
예를 들어, "cab"를 구한다고 가정해보자.
왼쪽부터 풀어주기 때문에 "cab"에서는 c의 값을 먼저 구해준다.
c의 값을 구하면 c와 a는 <abc>'a'에서 c는 <abc>가 되고 'a'는 a가 된다.
Mabc(<abc>‘a’)=2* Mabc(<abc>)+3 식을 적용하게 되면 c 값인 3을 넣고 산출이 된다.
c와 a가 계산된 값과 b는 Mabc(<abc>‘b’)=3* Mabc(<abc>)+6 이런 관계를 보이기 때문에 해당 식을 넣고 계산하면
최종적으로 cab 값이 산출되는 것이다.
728x90
'Computer Science' 카테고리의 다른 글
[Programming] Logical Equivalences (0) | 2020.10.15 |
---|---|
[Programming] Axiomatic Semantics examples (0) | 2020.10.08 |
[Programming] 십진법의 소수점자리를 삼진법 소수점으로 변환하기 (0) | 2020.09.17 |
[Programming] Affine cipher (0) | 2020.09.17 |
[Q&A/Programming] 프로그래머는 영어가 필수인가요? (0) | 2020.01.12 |
댓글