관리 메뉴

Gyejoong's Information

프로그래밍 언어론 - 3. 변수, 바인딩, 식 및 제어문 본문

Study

프로그래밍 언어론 - 3. 변수, 바인딩, 식 및 제어문

연계중 2017. 5. 22. 01:25
반응형


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

반응형
Comments