본문 바로가기

프로그래밍 언어론

[프로그래밍 언어론] 변수, 유효 범위

반응형

선언된 변수 이름이 유효한 프로그램 내의 범위/영역을 변수의 영역 혹은 유효범위(scope)

 

정적 유효범위 규칙(static scope rule)의 기본 개념은 선언된 이름은 선언된 블록 내에서만 유효하는 것

 

블록의 중첩을 허용하는 언어를 블록 구조 언어(block structured language)라고 함

 

상태 s 를 이름 집합인 Identifier 에서 값 집합인 Value 로 가는 하나의 함수로 정의

 - s:Identifier -> Value

 

문장 S 를 상태 s 에서 상태 s' 으로 변경 시키는 것을 상태 전이(state transition)

 - (s, S) -> s'

 

문장 S 의 상태 s 에서 상태 s' 으로 변경 시키는 상태 변환 함수(state transformation fuction) 을 Eval 로 정의

 - Eval : (State. Statement) -> State

 - Eval(s, S) = s' for each statement S

반응형