본문 바로가기
Computer Science

[Programming] Denotational semantics examples

by Henry Cho 2020. 10. 8.
728x90

Denotational semantics(표시적 의미론) 예제를 보여주실 수 있으신가요?

 

Denotational semantics(표시적 의미론)이란 컴퓨터 언어에서

계산식 또는 수학적 메커니즘을 개발자가 이해할 수 있는 방식으로 표시한 것이다.

한마디로 프로그래밍에 있는 계산식을 Denotational semantics 방식의 문자로 표현했다고 보면 된다.

 

Denotational semantics example grammars

위의 문법은 Denotational semantics를 이해하고자 만든 example이다.

Grammar와 Semantics를 통해 주어진 값을 어떻게 산출해야 할지 알 수 있다.

예를 들어, "cab"를 구한다고 가정해보자.

 

Denotational semantics example

 

왼쪽부터 풀어주기 때문에 "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

댓글