2. 연산 의미론
• 문장이나 프로그램의 의미를 기계상에서 수행되는 그 효과를 명세함으로써 기술하는 것이다.
• 연산 의미론 기술은 컴퓨터상에서 프로그램의 컴파일 버전을 실행함으로써 주어진다.
• 자연적 연산 의미론 (natural operational semantics): 가장 높은 수준, 완전한 프로그램 실행의 최종
결과에 관심.
• 구조적 연산 의미론 (structural operational semantics) : 가장 낮은 수준, 실행 시 발생되는 상태 변
화에 대한 완전한 시퀀스를 조사하여 프로그램의 정확한 의미를 파악하는데 이용
• 평가
• 연산 의미론은 수학이 아닌 더 낮은 수준의 프로그래밍 언어에 의존함
• 프로그래밍 언어의 문장들이 더 낮은 수준인 프로그래밍 언어의 문장들의 관점에서 기술되고
• 이러한 접근 방법은 개념들이 자신의 과점에서 간접적으로 정의되는 순환성의 문제를 초래할 수 있음.
3. 표기의미론
• 표기 의미론 :
• 프로그램의 의미를 기술하는 가장 엄격하고 가장 널리 알려진 형식적인 방법
• 재귀 함수 이론(recursive function theory)에 견고하게 기반함
• 프로그래밍 언어에 대한 표기 의미론 명세를 구성하는 과정은 아래의 것을 요구한다.
• 언어 요소에 대해서 수학적 객체를 정의
• 그 언어 요소의 사례를 그 수학적 객체의 사례로 사상하는 함수를 정의
• 표기 (denotational): 수학적 객체가 해당 구문 요소
• 사상 함수의 정의역 :
• 함수에 대한 적법한 매개변수들의 값들의 모임, 구문 정의역 (syntactic domain)
• 사상 함수의 치역 :
• 매개변수들이 사상되는 객체들의 모임, 의미 정의역 (semantic domain) => 사상되는 것이 구문 구
조이기 때문