의미론(sementics) 는 작성된 수식, 문장 혹은 프로그램의 의미를 정하는 것
- 프로그램의 의미를 정확하게 정희하고 이해하기 위해 필요
- 소프트웨어가 하는 일을 정확하게 명세하는데 사용
- 소프트웨어에 대한 검증 혹은 추론의 기초
- 컴파일러 혹은 해석기 작성의 기초
작동 의미론(operational semantics) : 프로그램 내의 수식이나 문장의 작동 등 실행 과정을 기술하여 정의하는 방법
표시 의미론(denotational semantics) : 프로그램 내의 수식이나 문자의 의미를 표시하고 부르는 수학적 함수 형태로 정의하는 방법
공리 의미론(axiomatic semantics) : 프로그램 내의 문자의 의미를 그 문장의 전제 조건과 후행 조건을 상태에 대한 표명(assertion)으로 그 효과를 기술하여 정의하는 방법
좌결합(left associative)은 왼쪽부터 우선 결합하는 규칙으로 왼쪽에서 오른쪽으로 수행
우결합(right associative)은 오른쪽부터 우선 결합하는 규칙으로 오른쪽의 연산자부터 먼저 수행
구조적 프로그래밍(structured programming) 의 기본 아이디어는 goto 문을 사용하지 않고 시작과 끝나는 지점이 구조적 구문(structured construct)을 사용하자는 것
Böhm&Jacopini 는 순차, 선택 , 반복의 3가지 형태의 제어구조로 함수를 표현할 수 있다고 주장
- 순차(concatenation)는 구문 순서에 따라서 순서대로 수행
- 선택(selection)은 프로그램의 상태에 따라서 여러 구문들 중에서 하나를 수행
- 반복(repetition)은 특정 상태에 도달할 때까지 구문을 반복하여 수행
설탕 구문(syntactic sugar)
- 더 쉽게 읽고 표현할 수 있도록 설계된 프로그래밍 언어 구문
'프로그래밍 언어론' 카테고리의 다른 글
[프로그래밍 언어론] 타입 시스템 (0) | 2022.08.22 |
---|---|
[프로그래밍 언어론] 자료형(data type) (0) | 2022.08.22 |
[프로그래밍 언어론] 변수, 유효 범위 (0) | 2022.08.21 |
[프로그래밍 언어론] 추상 구문 트리와 어휘 분석기 (0) | 2022.08.21 |
[프로그래밍 언어론] 구문법(Syntax) (0) | 2022.08.21 |