서브프로그램 2

[프로그래밍 언어론] 서브프로그램 구현

서브프로그램 구현 개요 서브프로그램 연결 서브프로그램 호출(call) 작업과 복귀(return) 작업 서브프로그램 호출 시 해야 할 작업 호출하는 서브프로그램의 상태 저장 인수 전달 복귀할 주소 저장 호출되는 프로그램으로 분기 서브프로그램 복귀 시 해야 할 작업 필요에 따라 형식인수 값 복사(out parameter) 함수의 경우, 반환값 전달 호출한 서브프로그램의 상태 복귀 호출한 서브프로그램으로 분기 활성 레코드 서브프로그램 호출에 필요한 공간 호출자의 상태 정보를 보관할 공간 인수를 저장할 공간 함수의 경우 반환값을 저장할 공간 복귀할 주소를 저장할 공간 활성 레코드(activation record) 수행 중인 서브프로그램에서 코드를 제외한 데이터 부분이 저장되는 형태 활성 레코드 틀 자체는 정적으..

CS 2023.12.05

[프로그래밍 언어론] 서브프로그램 개요

서브프로그램 개념 서브프로그램이란? 프로그램 컴퓨터가 실행할 명령어를 나열한 것 이 명령어 나열은 입력을 출력으로 전환함 서브프로그램 독자적인 입력과 출력을 갖춘 일부 프로그램 역시 명령어 나열로 구성되어 있음 서브프로그램의 입력: 인수 서브프로그램의 출력: 반환값 반환값이 없는 서브프로그램도 존재: 서브루틴 혹은 프로시저 서브프로그램의 특징 서브 프로그램으로 들어오는 입구는 하나이고, 나가는 출구는 여러 곳이 될 수 있음 대개 서브 프로그램의 맨 끝은 자동적으로 출구가 됨 변도의 return 문을 통해 출구를 지정할 수도 있음 호출자(caller, 서브프로그램을 호출한 서브프로그램)는 피호출자(callee, 호출된 서브프로그램)가 수행되기 전에 수행이 정지되며, 피호출짜의 수행이 완료되면 호출자로 제어..

CS 2023.12.05