Portable and high-level access to the stack with Continuation Marks

Portable and high-level access to the stack with Continuation Marks
复制标题

使用连续标记对堆栈进行可移植和高级访问

DOI:
--
复制
发表时间:
2006
期刊:
影响因子:
--
通讯作者:
John Clements
John Clements
中科院分区:
--
文献类型:
--
作者:
John Clements

文献摘要

被引文献

相似文献

我的论文介绍并捍卫轻量级堆栈检查改善整数编程工具和编程语言扩展的实施,例如辩论者,需要观察和更改程序的功能呼叫行为。 ,例如以方面为导向的编程,这些工具和扩展名也被授予了对评估者的特权访问实施细节,尤其是堆栈,尤其是将这些工具扩展到新的平台和新版本,以解决这些问题。延续标记:“允许这些工具在没有特殊特权的情况下获得运行时信息,并在源语言上作为注释者操作。我们声称此语言功能是许多人的简单补充运行时,我们声称该架构会导致更便携的工具和扩展,以支持我们的索赔,我们成功地将其应用于三个不同的问题。其次,我们展示了如何表达安全功能,堆栈检查。流动。
My dissertation presents and defends the thesis that lightweight stack inspection improves the implementation of intensional programming tools and programming language extensions. Intensional programming tools, such as debuggers, need to observe and change the function call behavior of programs as they run. Intensional programming language extensions, such as aspect-oriented programming, behave similarly. Traditionally, these tools and extensions are granted privileged access to the evaluator’s implementation details, particularly the stack. This design can stall further development, particularly the extension of these tools to new platforms and new versions of the evaluator. To solve some of these problems, we propose an alternate architecture. An extension of the language, ”continuation marks,” allows these tools to obtain runtime information without special privilege, and to operate as annotators on the source language. We claim that this language feature is a simple addition to many runtime systems. We further claim that this architecture results in tools and extensions that are more portable and well-defined. In order to support our claims, we have successfully applied it to three different problems. First, we designed and implemented a stepping debugger. Second, we showed how a security feature, stack inspection, may be expressed. Finally, we consider the implementation of aspects, and particularly those aspects that require information about control flow.