본문 바로가기

B1:기초 Basement

속성과 바인딩(Attribute and Binding)

반응형
속성(Attribute) : 프로그램에 나타나는 변수, 프로시저, 문 등의 실체(Entity)가 가지게 되는 성질
<실체별 속성 예>
- 변수의 속성 : 이름, 값, 형, 저장위치 등
- 프로시저의 속성 : 이름, 매개변수, 매개변수 전달방식, 수행할 코드
- 명령문 : 수행연산

<정적속성과 동적속성>
- 정적 속성 : 정적으로 바인딩되는 속성
- 동적 속성 : 동적으로 바인딩되는 속성

바인딩(Binding) : 실체의 속성을 특정한 값으로 정하는 것. 실체들이 쓰이기 전에 반드시 속성이 결정되어 있어야 하며, 실체의 속성을 특정한 값으로 정하는 것. 각 실체의 바인딩 정보의 저장장소를 설명자(descriptor)라고 함.
- 정적 바인딩 : 실행 이전에 바인딩이 이루어 지는 것
- 동적 바인딩 : 실행시에 이루어지는 바인딩

바인딩 시각(Binding Time) : 바인딩이 이루어지는 시점(1~5:정적, 6:동적)
  1. 언어 정의시 : 자료형 integer, boolean, char 등과 같은 기정의된 식별자의 의미
  2. 언어 구현시 : 목적코드를 만들어 낼 대상 기계에 따라 자료형의 실제 범위 결정
  3. 번역시 : 변수의 형
  4. 링크시 : 외부에 선언된 함수의 본체
  5. 로드시 : 전역변수의 위치
  6. 실행시 : 변수의 값


기호테이블(Symbol Table)
- 컴파일러가 기호테이블에 설명자를 저장
- 정적 속성은 실행 이전에만 필요
- 동적 속성은 실행시까지 설명자 유지 필요(기호테이블은 형조사나 메모리 할당 등을 위하여 실행시간에 시스템이 사용함)
반응형

'B1:기초 Basement' 카테고리의 다른 글

동적 형 바인딩(Dynamic Type Binding)  (0) 2006.08.30
변수 (Variables)  (0) 2006.08.30
문맥 무관형 문법 (context-free grammer)  (0) 2006.08.29
토큰(Token)  (0) 2006.08.29
프로그래밍 언어의 요건  (0) 2006.08.29