Skip to Content

Parsing and Printing of and with Triples

Posted on

Authors:

  • Joosten, Sebastiaan J. C.

Published in: Relational and algebraic methods in computer science. Höfner, Peter Pous, Damien Struth, Georg (Eds) pp 159–176

Paper

Slides

Abstract:

We introduce the tool Amperspiegel, which uses triple graphs for parsing, printing and manipulating data. We show how to conveniently encode parsers, graph manipulation-rules, and printers using several relations. As such, parsers, rules and printers are all encoded as graphs themselves. This allows us to parse, manipulate and print these parsers, rules and printers within the system. A parser for a context free grammar is graph-encoded with only four relations. The graph manipulation-rules turn out to be especially helpful when parsing. The printers strongly correspond to the parsers, being described using only five relations. The combination of parsers, rules and printers allows us to extract Ampersand source code from ArchiMate XML documents. Amperspiegel was originally developed to aid in the development of Ampersand.

BibTeX entry:

@inproceedings{Joosten17a,
 abstract = {We introduce the tool Amperspiegel, which uses triple graphs for parsing, printing and manipulating data. We show how to conveniently encode parsers, graph manipulation-rules, and printers using several relations. As such, parsers, rules and printers are all encoded as graphs themselves. This allows us to parse, manipulate and print these parsers, rules and printers within the system. A parser for a context free grammar is graph-encoded with only four relations. The graph manipulation-rules turn out to be especially helpful when parsing. The printers strongly correspond to the parsers, being described using only five relations. The combination of parsers, rules and printers allows us to extract Ampersand source code from ArchiMate XML documents. Amperspiegel was originally developed to aid in the development of Ampersand.},
 author = {Joosten, {Sebastiaan Jozef Christiaan}},
 booktitle = {Relational and algebraic methods in computer science},
 day = {16},
 editor = {Peter H{\"o}fner and Damien Pous and Georg Struth},
 isbn = {978-3-319-57417-2},
 language = {English},
 month = {May},
 pages = {159--176},
 publisher = {Springer},
 series = {Lecture Notes in Computer Science},
 title = {Parsing and Printing of and with Triples},
 year = {2017}
}