Block Structured LanguagesThere are two major structures that are maintained for any computation at run time:A) Softstructure: activation state with the following two parts: a)FixedPart: the machine code of the program, and b) VariablePart: The activation record (AR) that holds the state of the “activation” (procedure/function in execution). i) Environment part (ep): defines the context of an activation; it consists of: I) locals and formal parameters. II) StaticLink (SL): pointer to all visible non-local accessible scopes (starting at the AR of the definer of the activation) of the current activation. ii) Instruction Pointer (IP): pointer into the current activation code. iii) Dynamic Link (DL): a pointer to the caller’s AR, where the return address is stored. B)Hardwarestructure (): consists of the following: i) Environment Pointer (πep): a pointer to the current activation environment (its AR). ii) Instruction Pointer (πip): a pointer to the next instruction to be executed. iii) Stack Pointer (πsp): a pointer to the next AR record to be placed at the top of the stack, in case of the current “activation” calls a procedure or function. πspπipπepAR of active module “caller”AR of any future “callee”AR’s of other non-active modules in the stackCode of the current activation Virtual Processor πRun Time Stack
has intentionally blurred sections.
Sign up to view the full version.