2 research outputs found

    Priority-Independent Rewrite Systems for Pointer-based Data-Structures

    No full text
    20 pagesWe define a syntactic class of graphs and graph rewrite systems for which the normal forms are independent from the order in which the nodes are reduced. This result, that is not covered by existing approaches in graph rewriting, allows us to devise simple confluence criteria and efficient normalization algorithms. It is based on a static analysis of the rewrite system, including a thorough analysis of the shape of the graphs generated during the rewriting process. The considered graphs naturally encode pointer-based data structures that are commonly used in practical programming and the rewrite rules can simulate any elementary transformation on these data structures (edge redirection, node relabeling etc.)

    Term-graph rewriting via explicit paths

    Get PDF
    International audienceThe notion of path is classical in graph theory but not directly used in the term rewriting community. The main idea of this work is to raise the notion of path to the level of first-order terms, i.e. paths become part of the terms and not just meta-information about them. These paths are represented by sequences of integers (positive or negative) and are interpreted as relative addresses in terms. In this way, paths can also be seen as a generalization of the classical notion of position for the first-order terms and of de Bruijn indexes for the lambda calculus. In this paper, we define an original framework called Addressed Term Rewriting where paths are used to represent pointers between subterms. Using this approach, any term-graph rewriting systems can be efficiently simulated using a rewrite-based environment
    corecore