SlideShare a Scribd company logo
1 of 7
Concep Of Programming
Language
동적 의미론
연산 의미론
• 문장이나 프로그램의 의미를 기계상에서 수행되는 그 효과를 명세함으로써 기술하는 것이다.
• 연산 의미론 기술은 컴퓨터상에서 프로그램의 컴파일 버전을 실행함으로써 주어진다.
• 자연적 연산 의미론 (natural operational semantics): 가장 높은 수준, 완전한 프로그램 실행의 최종
결과에 관심.
• 구조적 연산 의미론 (structural operational semantics) : 가장 낮은 수준, 실행 시 발생되는 상태 변
화에 대한 완전한 시퀀스를 조사하여 프로그램의 정확한 의미를 파악하는데 이용
• 평가
• 연산 의미론은 수학이 아닌 더 낮은 수준의 프로그래밍 언어에 의존함
• 프로그래밍 언어의 문장들이 더 낮은 수준인 프로그래밍 언어의 문장들의 관점에서 기술되고
• 이러한 접근 방법은 개념들이 자신의 과점에서 간접적으로 정의되는 순환성의 문제를 초래할 수 있음.
표기의미론
• 표기 의미론 :
• 프로그램의 의미를 기술하는 가장 엄격하고 가장 널리 알려진 형식적인 방법
• 재귀 함수 이론(recursive function theory)에 견고하게 기반함
• 프로그래밍 언어에 대한 표기 의미론 명세를 구성하는 과정은 아래의 것을 요구한다.
• 언어 요소에 대해서 수학적 객체를 정의
• 그 언어 요소의 사례를 그 수학적 객체의 사례로 사상하는 함수를 정의
• 표기 (denotational): 수학적 객체가 해당 구문 요소
• 사상 함수의 정의역 :
• 함수에 대한 적법한 매개변수들의 값들의 모임, 구문 정의역 (syntactic domain)
• 사상 함수의 치역 :
• 매개변수들이 사상되는 객체들의 모임, 의미 정의역 (semantic domain) => 사상되는 것이 구문 구
조이기 때문
표기 의미론 예제
• <bin_num> -> '0' | '1' | <bin_num> '0' | <bin_num> | '1'
가 있을때..
<bin_num>
-<bin_num>
--<bin_num>
--- '1’
-- '1’
- '1'
RHS의 전체 의미를 표현하는 함수
Mbin('0') = 0
Mbin(‘1') = 1
Mbin(<bin_num> '0') = 2*Mbin(<bin_num>)
Mbin(<bin_num> ‘1') = 2*Mbin(<bin_num>) + 1
Mbin(Mbin(Mbin(‘1’) Mbin(‘1’)) Mbin(‘1’))
=2 * Mbin(Mbin(‘1’) Mbin(‘1’)) + 1
=2 * ((2 * Mbin(‘1’) + 1) + 1
=2 * ((2 * 1 + 1) + 1
=2 * (2 + 1) + 1
=2 * 3 + 1
=7
루아 Bnf 분석
• myVar = 10;
루아 Bnf 분석
• While idx < 10 do
• idx = idx + 1
• end
• function fact(num)
• if num == 1 then
• return 1
• else
• return num * fact(num-1)
• end
• end

More Related Content

More from DonggyuKim21 (8)

Lightning talk - 11
Lightning talk - 11Lightning talk - 11
Lightning talk - 11
 
Lightning Talk 10
Lightning Talk 10Lightning Talk 10
Lightning Talk 10
 
Lightning Talk 9
Lightning Talk 9Lightning Talk 9
Lightning Talk 9
 
Lightning talk - 6
Lightning talk - 6Lightning talk - 6
Lightning talk - 6
 
Lightning talk - 5
Lightning talk - 5Lightning talk - 5
Lightning talk - 5
 
Lightning talk - 3
Lightning talk - 3Lightning talk - 3
Lightning talk - 3
 
Lightning talk - 2
Lightning talk - 2Lightning talk - 2
Lightning talk - 2
 
Lightning talk - 1
Lightning talk - 1Lightning talk - 1
Lightning talk - 1
 

Recently uploaded

파일 업로드(Kitworks Team Study 유현주 발표자료 240510)
파일 업로드(Kitworks Team Study 유현주 발표자료 240510)파일 업로드(Kitworks Team Study 유현주 발표자료 240510)
파일 업로드(Kitworks Team Study 유현주 발표자료 240510)
Wonjun Hwang
 
Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
Wonjun Hwang
 

Recently uploaded (6)

클라우드 애플리케이션 보안 플랫폼 'Checkmarx One' 소개자료
클라우드 애플리케이션 보안 플랫폼 'Checkmarx One' 소개자료클라우드 애플리케이션 보안 플랫폼 'Checkmarx One' 소개자료
클라우드 애플리케이션 보안 플랫폼 'Checkmarx One' 소개자료
 
파일 업로드(Kitworks Team Study 유현주 발표자료 240510)
파일 업로드(Kitworks Team Study 유현주 발표자료 240510)파일 업로드(Kitworks Team Study 유현주 발표자료 240510)
파일 업로드(Kitworks Team Study 유현주 발표자료 240510)
 
Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
 
오픈소스 위험 관리 및 공급망 보안 솔루션 'Checkmarx SCA' 소개자료
오픈소스 위험 관리 및 공급망 보안 솔루션 'Checkmarx SCA' 소개자료오픈소스 위험 관리 및 공급망 보안 솔루션 'Checkmarx SCA' 소개자료
오픈소스 위험 관리 및 공급망 보안 솔루션 'Checkmarx SCA' 소개자료
 
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
 
[OpenLAB] AWS reInvent를 통해 바라본 글로벌 Cloud 기술동향.pdf
[OpenLAB] AWS reInvent를 통해 바라본 글로벌 Cloud 기술동향.pdf[OpenLAB] AWS reInvent를 통해 바라본 글로벌 Cloud 기술동향.pdf
[OpenLAB] AWS reInvent를 통해 바라본 글로벌 Cloud 기술동향.pdf
 

Lightning Talk 7

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