4 research outputs found

    XML stream transformer generation through program composition and dependency analysis

    Get PDF
    AbstractXML stream transformation, which sequentially processes the input XML data on the fly, makes it possible to process large sized data within a limited amount of memory. Though being efficient in memory-use, stream transformation requires stateful programming, which is error-prone and hard to manage.This paper proposes a scheme for generating XML stream transformers. Given an attribute grammar definition of transformation over an XML tree structure, we systematically derive a stream transformer in two steps. First, an attribute grammar definition of the XML stream transformation is inferred by applying a program composition method. Second, a finite state transition machine is constructed through a dependency analysis. Due to the closure property of the program composition method, our scheme also allows modular construction of XML stream transformers.We have implemented a prototype XML stream transformer generator, called altSAX. The experimental results show that the generated transformers are efficient in memory consumption as well as in execution time

    Incremental Semantic Evaluation for Interactive Systems: Inertia, Pre-emption, and Relations

    Get PDF
    Although schemes for incremental semantic evaluation have been explored and refined for more than two decades, the demands of user interaction continue to outstrip the capabilities of these schemes. The feedback produced by a semantic evaluator must support the user's programming activities: it must be structured in a way that provides the user with meaningful insight into the program (directly, or via other tools in the environment) and it must be timely. In this paper we extend an incremental attribute evaluation scheme with three techniques to better meet these demands within the context of a modeless editing system with a flexible tool integration paradigm. Efficient evaluation in the presence of syntax errors (which arise often under modeless editing) is supported by giving semantic attributes inertia: a tendency to not change unless necessary. Pre-emptive evaluation helps to reduce the delays associated with a sequence of edits, allowing an evaluator to "keep pace" with the user. Relations provide a general means to capture semantic structure (for the user, other tools, and as attributes within an evaluation) and are treated efficiently using a form of differential propagation. The combination of these three techniques meets the demands of user interaction; leaving out any one does not

    XML stream transformer generation through program composition and dependency analysis

    Get PDF
    AbstractXML stream transformation, which sequentially processes the input XML data on the fly, makes it possible to process large sized data within a limited amount of memory. Though being efficient in memory-use, stream transformation requires stateful programming, which is error-prone and hard to manage.This paper proposes a scheme for generating XML stream transformers. Given an attribute grammar definition of transformation over an XML tree structure, we systematically derive a stream transformer in two steps. First, an attribute grammar definition of the XML stream transformation is inferred by applying a program composition method. Second, a finite state transition machine is constructed through a dependency analysis. Due to the closure property of the program composition method, our scheme also allows modular construction of XML stream transformers.We have implemented a prototype XML stream transformer generator, called altSAX. The experimental results show that the generated transformers are efficient in memory consumption as well as in execution time

    属性付き記号的木変換器の合成

    Get PDF
     関数プログラミングでは,関数間で受け渡される中間的な計算結果に関するコストを削減するため,2つの関数の連続する適用を,中間的な計算結果を介さない1つの関数の適用で置き換える関数融合と呼ばれる最適化が重要である.蓄積引数を伴う再帰プログラムを関数融合により最適化するには,属性付き木変換器の合成アルゴリズムを応用する手法が有効であることが知られている.しかしこの手法は,2つの関数がいずれもパターンマッチのガード式を扱う場合には対応していない.また,従来の木変換器は,有限の領域しか扱えないため,無限の領域に関する条件を記述したガード式を扱うことができない.これらの問題点を解決するため,本論文では,最も基本的な木変換器を無限の領域に対応させた記号的木変換器と同様の拡張手法を,属性付き木変換器に対して行うことで,無限の領域を扱うことが可能な属性付き記号的木変換器を提案する.そして,属性付き記号的木変換器で表現できる計算のクラスが記号的木変換器のクラスより大きいことを示す.さらに,記号的木変換器の合成で用いる手法を属性付き木変換器の合成アルゴリズムに取り入れることで,属性付き記号的木変換器の合成アルゴリズムを構成し,その正当性を証明する.証明では,属性付き記号的木変換器を,見かけ上等価な属性付き木変換器へ符号化することで,属性付き木変換器の合成アルゴリズムの正当性に帰着する.電気通信大学201
    corecore