Compiler Construction

Compiler Construction
复制标题

编译器构建

DOI:
10.1007/978-3-540-71229-9_15
复制
发表时间:
2007
期刊:
--
影响因子:
--
通讯作者:
Falconer H
Falconer H
中科院分区:
--
文献类型:
--
作者:
Falconer H

文献摘要

相似文献

DeepWeaver-1是一个支持横切程序分析和转换组件的工具,称为“编织”。与方面类似,DeepWeaver织入由查询部分和可能修改代码的部分组成。DeepWeaver的查询语言基于Prolog,并提供对数据流和控制流可达性分析的访问。DeepWeaver提供了一种声明式的方式来访问方法的内部结构,并支持横切编织,同时对来自代码库不同部分的代码块进行操作。DeepWeaver在字节码级别运行,但提供谓词来提取结构化的控制流构造。本文激励设计,并展示了它的一些权力,使用一系列的例子,包括性能分析和特定于域的性能优化数据库访问和远程方法调用。
DeepWeaver-1 is a tool supporting cross-cutting program analysis and transformation components, called “weaves”. Like an aspect, a DeepWeaver weave consists of a query part, and a part which may modify code. DeepWeaver’s query language is based on Prolog, and provides access to data-flow and control-flow reachability analyses. DeepWeaver provides a declarative way to access the internal structure of methods, and supports cross-cutting weaves which operate on code blocks from different parts of the codebase simultaneously. DeepWeaver operates at the level of bytecode, but offers predicates to extract structured control flow constructs. This paper motivates the design, and demonstrates some of its power, using a sequence of examples including performance profiling and domain-specific performance optimisations for database access and remote method invocation.