2024/12/21 2

[PLT/프로그래밍언어론] 07. Control Abstraction and Data Types

Control Abstraction and Data Types#PLTControl AbstractionControl Abstraction은 프로그래밍 언어에서 데이터 추상화 (Data Abstraction)와 더불어 가장 중요한 개념 중 하나입니다. 복잡하고 큰 소프트웨어의 경우, 주요 목표를 달성하려면 더 작은 요구 사항을 충족시켜야 합니다. 이 개념은 분할 정복 (Divide and Conquer) 전략과 관련이 있습니다.모바일 쇼핑 앱을 개발한다고 가정해 보겠습니다. 이 앱에는 다음과 같은 기능이 필요합니다:상품 데이터 읽기앱에서 상품 표시상품 검색고객 정보 관리상품 리뷰결제구매 관리배송 옵션 관리이러한 모든 기능을 하나의 큰 프로그램으로 구현하는 것은 좋은 방법이 아닙니다. 대신, 각 기능을 독립..

[PLT/프로그래밍언어론] 06. Control Structure

06. Control Structure#PLT제어 구조표현식표현식(Expression)은 평가가 완료되면 값을 생성하거나 정의되지 않음을 생성하는 구문적 단위입니다(완료되지 않는 경우).표현식은 모든 프로그래밍 언어의 기본 구성 요소 중 하나입니다.함수형 언어처럼 문(statement)이 없는 언어도 있지만, 표현식은 모든 언어에 존재합니다.표현 방식연산자와 피연산자로 표현합니다.예: x + y, b - 1, f(3) >= 0전위(prefix), 중위(infix), 후위(postfix) 표기법이 있습니다.연산자의 위치에 따라 다음과 같은 구문이 있습니다: ::= |... ::= |... ::= |...표기법수학적 식을 예로 들어보겠습니다: a + b * c + d중위 표기법에서는 (a + b) * (c ..