Subprogram Linkage

: subprogrma 의 호출 및 반환 작업을 통틀어 말한다.

구현하려는 언어의 Linkage 를 기반으로 프로그램을 작성해야된다.

Impelmenting Subprograms with Stack-Dynamic Local Variables

Untitled

void sub(float total, int part) { // parameter 2개
			int list[5]; 
			float sum;
			// 둘다 local
			...
}

Untitled

Example without Recursion

void fun1(float r) {
		int s, t;
		... <---------- 1 
		fun2(s);
		...
}
void fun2(int x) { int y;
		... <---------- 2 
		fun3(y);
		...
}
void fun3(int q) {
		... <---------- 3 
}

void main() { 
		float p;
		...
		fun1(p);
		,,,
}
// 실행순서 : main -> fun1(p) -> fun2(s) -> fun3(y) -> fun(4)

Untitled

Dynamic Chain ( Call Chain )