文档详情

东南大学 编译原理 课件 Cp7.ppt

发布:2019-01-13约8.18千字共54页下载文档
文本预览下载声明
Chapter 7 Runtime Environments Zhai Yuqing Zhou Xiaoyu Program vs Program Execution An execution of a program is called as a process. A program consists of several procedures (functions). An execution of a program would cause the activation of the related procedures. Allocation and De-allocation of Data Objects A name (e.g, a variable name) in a procedure would be related to different data objects. An activation may manipulate data objects allocated for its use. Bindings of Names When an environment associates storage location s with a name x, we say that x is bound to s; the association itself is referred to as a binding of x. A binding is the dynamic counterpart of a declaration. Data Object Even each name is declared once in a program, the same name may denote different objects at run time. The “ data object” corresponds to a storage location that can hold values. Environment and State In programming language semantics, the term “environment” refers to a function that maps a name to a storage location, and term “state” refers to a function that maps a storage location to the value held there. Environment and State environment state name storage value Environment and State An assignment changes the state, but not the environment. Allocation and De-allocation of Data Objects Managed by the run-time support package. The representation of a data object at run time is determined by its type. If x is not of a basic type, the storage s for x may be a collection of memory words. Factors that Determines the Run Time Environment of a Program Recursive call of procedures. Local name storage space allocation strategy. global name storage space allocation strategy. Parameter passing mechanism. Factors that Determines the Run Time Environment of a Program whether a function is allowed to be a parameter of or return value of a function. Subdivision of Runtime Memory Typical subdivision of runtime memory into code an
显示全部
相似文档