Compilation of Generic Regular Path Expressions Using C++ Class Templates

Various techniques for the navigation and matching of data structures using path expressions have been the subject of extensive investigations. No matter whether such techniques are based on type information, indexing, automata, it is desirable to synthesize implementations automatically, starting f...

Full description

Saved in:
Bibliographic Details
Published inCompiler Construction pp. 27 - 42
Main Author Padovani, Luca
Format Book Chapter Conference Proceeding
LanguageEnglish
Published Berlin, Heidelberg Springer Berlin Heidelberg 2005
Springer
SeriesLecture Notes in Computer Science
Subjects
Online AccessGet full text
ISBN9783540254119
3540254110
ISSN0302-9743
1611-3349
DOI10.1007/978-3-540-31985-6_3

Cover

More Information
Summary:Various techniques for the navigation and matching of data structures using path expressions have been the subject of extensive investigations. No matter whether such techniques are based on type information, indexing, automata, it is desirable to synthesize implementations automatically, starting from a high-level description of the path expressions to be traversed. In this paper we present a library of C++ templates for the representation of regular path expressions and their compilation into efficient backtracking algorithms. The resulting code can be used to implement visitors, pattern matchers, node collectors on regular paths over possibly heterogeneous, linked data structures. The point of the paper is on the path compilation technique, which was inspired by a continuation-passing, functional semantics of the path expressions. We rely on some peculiar aspects of C++ templates to create a compilation framework that closely follows the given semantics.
ISBN:9783540254119
3540254110
ISSN:0302-9743
1611-3349
DOI:10.1007/978-3-540-31985-6_3