Scrimshaw: A Language for Document Queries and Transformations

SUMMARY We present a new language for tree pattern matching and transformation called Scrimshaw. It extends to trees the familiar notions of regular expressions, pattern matching, and pattern replacement for strings. As we show by examples, it serves well as both a structured document query language and as a language for expressing document transformations. Scrimshaw has been implemented in a C-like language and is in ongoing use.

[1]  Elisa Bertino,et al.  Query processing in a multimedia document system , 1988, TOIS.

[2]  Vincent Quint,et al.  Type modelling for document transformation in structured editing systems , 1994 .

[3]  Leon Sterling,et al.  The Art of Prolog - Advanced Programming Techniques , 1986 .

[4]  Ian A. Macleod A Query Language for Retrieving Information from Hierarchic Text Structures , 1991, Comput. J..

[5]  Richard J. Beach,et al.  A structural view of the Cedar programming environment , 1986, TOPL.

[6]  Charles F. Goldfarb,et al.  SGML handbook , 1990 .

[7]  Jean-Pierre Jouannaud,et al.  Rewrite Systems , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[8]  P. David Stotts,et al.  Specifying structured document transformations , 1988 .

[9]  Leon Sterling,et al.  The Art of Prolog , 1987, IEEE Expert.

[10]  Thomas Reps,et al.  The Synthesizer Generator: A System for Constructing Language-Based Editors , 1988 .

[11]  A. Hayes Mathematica: A system for doing mathematics by computer , 1993, The Mathematical Gazette.

[12]  Daniel M. Yellin Attribute Grammar Inversion and Source-to-source Translation , 1988, Lecture Notes in Computer Science.

[13]  Lawrence S. Kroll Mathematica--A System for Doing Mathematics by Computer. , 1989 .

[14]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[15]  Alfred V. Aho,et al.  The awk programming language , 1988 .

[16]  Gilles Kahn,et al.  Natural Semantics , 1987, STACS.