일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- abex crack me 5번문제
- 안드로이드 백도어
- 배열 탐색
- 재밌는 모바일게임
- sa 계정 비밀번호 변경
- abex crack me 1번
- 프론트엔드 개발자
- 프로그래밍 언어론
- 메이플스토리 M 사전예약
- 알고리즘
- 네트워크 관리사 2급 필기
- 레나 리버싱
- C언어
- 배열 정렬
- abex crack me 2번 문제풀이
- UDP daytime
- 리버싱
- 1.9.2
- 리틀엔디언
- 빅엔디언
- 덧셈
- c언어 알고리즘
- 암호화폐
- 마인크래프트
- 배열
- 오버워치
- react native
- Reverse Me
- 구조체 함수
- 구조체
- Today
- Total
Gyejoong's Information
프로그래밍 언어론 - 3. 변수, 바인딩, 식 및 제어문 본문
3.1 변수
* 변수(variable)
- 실행시간 동안 그 값이 바뀔 수 있는 객체를 의미
- ISO 국제 규격 : 선언문 또는 묵시적 선언으로 생성되며, 식별자, 자료속성의 집합, 하나 이상의 주소, 자료 값의 네 가지 요소로 구성되는데, 주소와 자료값의 관계는 변할 수 있다.
* 노엄 촘스키(Noam Chomsky)
- 문법의 종류 분류
- 문맥자유 문법에 대한 아이디어 제안
3.2 바인딩
3.2-1 바인딩의 개념
* 바인딩(binding)
- 어떤 속성을 연결하는 과정을 의미
- 프로그램의 기본단위에 그 기본단위가 택할 수 있는 여러가지 속성 중에서 일부를 선정하여 결정해 주는 행위
* 바인딩 시간(binding time)
- 바인딩이 발생하는 시간이 언제인지를 의미
3.2-2 바인딩 시간의 종류
* 정적 바인딩(static binding)
- 번역시간에 이루어지는 바인딩
* 동적 바인딩(dynamic binding)
- 실행시간에 이루어지는 바인딩
* 번역시간(translation time)
- 컴파일 시간, 링크 시간, 로드 시간으로 구성
3.3 선언
* 선언(declaration)
- 실행 시 사용할 자료의 속성을 컴파일러 등에 알려 주는 프로그램 문장
- 바인딩을 제공하는 중요한 방법
* 묵시적 선언(default declaration)
- 명시적 선언이 없는 경우
* 형고정 연산(type specific operation)
- 프로그래밍 언어에서 피연산자와 연산결과의 자료형이 하나로 고정된 연산
* 혼합형 연산(generic 혹은 mixed operation)
- 주어진 연산자에 대한 피연산자와 연산결과의 자료형이 고정되지 않는 연산
3.4 할당문
* 할당문
- 변수의 내용을 변경할 수 있는 연산
3.4-1 단순 할당문
* 단순 할당문
- 구문 형식 : <목적지_변수><할당_연산자><식>
- 예) A = B = C
3.4-2 다중 목적 변수 할당문
- 식 값을 한 개 이상의 목적 변수에 할당하는 것을 허용하는 것
- 예) W, X, Y = 0
3.4-3 조건 목적 변수 할당문
- 할당 문에 조건 목적변수를 허용하는 것
- 예) flag? n:m = 0
3.4-4 복합할당 연산자
* 복합할당 연산자(compound assignment operator)
- 일반적으로 할당문에 필요한 형태를 표현하는 축약 방법
- 예) s = s+t -> s += t
3.4-5 단항할당 연산자
* 전위 연산자(prefix operator)
- 연산자가 피연산자 앞에 오는 것
* 후위 연산자(postfix operator)
- 연산자가 피연산자 뒤에 오는 것
3.4-6 식으로서의 할당문
* 식 부작용
- 할당문을 식의 피연산자에 허용하여 생기는 단점
- 읽고 이해하기 어려운 식을 초래할 수 있음
3.4-7 혼합형 할당문
* 혼합형 할당문
- 할당문에서 양편에 자료형이 서로 다른 경우
3.5 상수 및 변수 초기화
* 상수
- 프로그램이 수행되는 동안 값이 변경되는 것을 원치 않을 때 사용
- 식별자로 주어지며 프로그램 수행 중 결합된 값이 결코 변하지 않는데 선언문을 이용 하거나 묵시적 선언을 통해 생성
3.6 표현식
3.6-1 식의 개요
* 표현식(expression)
- 하나 이상의 피연산자를 가지고 자료값의 계산을 기술하는 것
- 상수나 변수 같은 피연산자, 연산자, 그리고 사용 가능한 함수호출(function call)로 구성
* 프로그램 상태공간(program state space) 또는 프로그램 환경(program environment)
- 한 프로그램에서 사용되는 모든 변수와 관련 있는 값이 형성하는 것
* 참조투명성(referential transparency)
- 환경을 변화시키지 않고 오직 값만 생성하는 것이 이상적인 식의 평가라는 것을 의미
* 좌결합 법칙
- 우선순위가 같은 두 개의 연산자가 함께 이웃했을 때 왼쪽 것을 던져 수행하는 법칙
3.6-2 논리조건
* 적용순서(applicative order)
- '피연산자1 연산자 피연산자2'와 같은 식에서 두 개의 피연산자를 평가한 후 결과를 얻기 위해 연산자를 적용하는 방법의 평가
3.7 조건문
* 조건문(conditional statement)
- 조건에 따라 실행되는 부분이 달라질 때 사용하는 문장
3.8 반복문
* 반복문(iteration statement)
- 한 개 이상의 문장을 0번 이상 반복하여 실행시키는 문장
3.8-1 사용자 지정 반복
- 예) loop-repeat, break, continue
3.8-2 논리제어 반복문
- 예) while, until, do-while
- 예) for
'Study' 카테고리의 다른 글
[깃허브]1. 깃허브 저장소 만들기 (3) | 2017.07.02 |
---|---|
프로그래밍 언어론 - 2. 프로그래밍 언어의 구조 및 해석 (0) | 2017.05.22 |
프로그래밍 언어론 - 1. 프로그래밍 언어의 소개 (0) | 2017.05.21 |