subprogram 반환값의 의미
- Out mode 및 Inout mode 매개변수는 해당 값이 반환되어야 한다.
- stack-dynamic local variables의 할당 해제
- 실행 상태 복훤
- caller에게 제어권 반환
Implementing “Simple” Subprograms
1) Call Semantics
- caller의 실행 상태 저장
- 매개변수 전달
- return address를 caller에게 전달
- called에게 제어권 이전
2) Return Semantics
- 만약 pass-by-value-result 또는 out mode parameters가 사용되는 경우, 해당 파라미터의 현재 값을 해당하는 실제 파라미터로 이동한다.
- 함수인 경우 함수 값을 caller가 얻을 수 있는 곳으로 이동한다.
- caller의 실행 상태 복원
- caller에게 제어권을 다시 전송
'3-1 학기 > Programming Languages' 카테고리의 다른 글
[프로그래밍언어] Ch9 Subprograms (0) | 2024.05.31 |
---|---|
[프로그래밍언어] Ch6 Concepts of Programming Languages (0) | 2024.04.16 |
[프로그래밍언어] Ch5 Names, Bindings, and Scopes (0) | 2024.04.14 |
[프로그래밍언어] Ch4 Lexical and Syntax Analysis (0) | 2024.04.13 |
[프로그래밍언어] Ch3 Describing Syntax and Semantics (0) | 2024.04.13 |