전공과목 정리/프로그래밍언어론 6

[프로그래밍언어론📐] 6장 자료형

출처 : 프로그래밍 언어론 : 원리와 실제 (창병모, 인피니티북스, 2021) 6.1 자료형 개요1) 자료형의 의미- 자료형해당 타입의 변수가 가질 수 있는 값들의 집합그 값들에 적용 가능한 연산들의 모음 2) 기본 자료형- 사전 정의된 기본 자료형 : boolean, char, int, float, double, ...- 사용자 정의 기본 자료형열거형 : 열거된 값들로 이루어진 타입 3) 부분 타입 (subtype)- 부분 타입 기반 타입(base type)의 일부분 값들로 정의된 자료형기반 타입의 모든 연산을 부분 타입에 적용 가능Ada, Pascal 6.2 복합 타입1) 타입 구성자- 기본 자료형으로부터 더 복잡한 자료형(복합 타입)을 구성하는 방법배열 타입 (Array type)리스트 타입 (Li..

[프로그래밍언어론📐] 5장 의미론

출처 : 프로그래밍 언어론 : 원리와 실제 (창병모, 인피니티북스, 2021) 5.0 의미론1) 의미론의 개요- 프로그램의 의미와 정확한 정의 및 이해- 소프트웨어의 정확한 명세- 소프트웨어 시스템에 대한 검증 혹은 추론- 컴파일러 혹은 해석기 작성의 기초 2) 의미론의 종류- 작동 의미론 (Operational Semantics)프로그램의 의미를 프로그램 실행(작동) 과정으로 설명- 표기 의미론 (Denotational Semantics)프로그램의 의미를 함수 형태로 정의하여 설명- 공리 의미론 (Axiomatic Semantics)프로그램의 시작 상태와 종료 상태를 논리적 선언(assertion) 형태로 정의하여 설명 5.1 수식의 의미1) 수식- 상태에서 수식의 값- V : (State, Expr..

[프로그래밍언어론📐] 4장 변수 및 유효범위

출처 : 프로그래밍 언어론 : 원리와 실제 (창병모, 인피니티북스, 2021) 4.1 변수 선언1) 변수 선언과 유효범위- 변수 선언 : 사용 전 선언- 변수의 유효범위 (scope) : 선언된 변수가 유효한(사용될 수 있는) 프로그램 내의 범위/영역- 정적 유효범위(Static scope) 규칙선언된 이름은 선언된 블록 내에서만 유효함대부분의 언어에서 표준 규칙으로 사용됨2) 변수 선언- 변수 id는 타입 변수이며 초기화가 가능하다.- 변수 id는 지역 변수로 유효범위는 선언된 블록 내이다. → ... | let in end; → { id [=];} 3) 블록의 중첩- let 블록 내의 문장 S에 다시 let 블록이 나타날 수 있다. 4) 언어 S의 전역 변수- 지역 변수 : let문 내에서 선언된..

[프로그래밍언어론📐] 3장 언어 설계와 파서 구현

출처 : 프로그래밍 언어론 : 원리와 실제 (창병모, 인피니티북스, 2021) 3.1 프로그래밍 언어 S1) 샘플 프로그래밍 언어- 대화형 인터프리터 방식으로 동작 가능- 블록 중첩을 허용- 실행 전에 타입 검사를 수행하는 강한 타입 언어- 어휘분석기, 파서, AST, 타입 검사기, 인터프리터 순차 구현 2) 언어 S의 문법 → {} → | | → id [= ]; → id = ;| '{' '}'| if () then [else ]| while () | read id; | print ; | let in end; → {} → {} → int | bool | string 3) 프로그래밍 언어 S- 언어 S의 프로그램 : 명령어()들로 구성- 명령어변수 선언 : 함수 정의 : 실행 문장 : - 실..

[프로그래밍언어론📐] 2장 구문법 (Syntax)

출처 : 프로그래밍 언어론 : 원리와 실제 (창병모, 인피니티북스, 2021) 2.1 구문 및 구문법1) 구문법 (Syntax)- 문장 혹은 프로그램을 작성하는 방법- 자연어(영어, 한국어)의 문법처럼 프로그래밍 언어의 구문법이 있다.- 프로그래밍 언어의 이론적 기초 2) 재귀적 정의 : 이진수의 구문법- 숫자(D)는 0, 1 중 하나이다.- 이진수 구성 방법숫자(D)는 이진수(N)이다.이진수(N) 다음에 숫자(D)가 오면 이진수(N)이다. 3) 수식의 구문법 5) 프로그래밍 언어의 구문 구조 6) 문맥-자유 문법 CFG- 넌터미널 심볼은 보통 대문자로, 터미널 심볼은 소문자로 표기 7) 생성 규칙 2.2 유도1) 유도 (Derivation)- 구문검사 : 입력된 문장 혹은 프로그램이 문법에 맞는지 검..

[프로그래밍언어론📐] 1장 서론

출처 : 프로그래밍 언어론 : 원리와 실제 (창병모, 인피니티북스, 2021)1.1 프로그래밍 언어란?1) 프로그래밍언어- 계산 과정을 기계가 읽을 수 있고 사람이 읽을 수 있도록 기술하기 위한 일종의 표기법- 계산 (computation) : 데이터 조작, 텍스트 처리, 알고리즘- 기계 읽기 (machine readability) : 효율적인 번역 또는 실행- 사람 읽기 (human readability) : 프로그래밍 편의성, 컴퓨터 연산들의 이해하기 쉬운 추상화 2) 프로그래밍 언어의 중요성- 언어에 따라 상이한 프로그래밍 방식절차형(명령헝) 언어 (procedural langauge)함수형 언어 (functional langauge)논리 언어 (logic language)객체지향 언어 (obje..