XML Goes Native: Run-Time Representations for Xtatic

Xtatic is a lightweight extension of C# offering native support for statically typed XML processing. XML trees are built-in values in Xtatic, and static analysis of the trees manipulated by programs is part of the ordinary job of the typechecker. “Tree grep” pattern matching is used to investigate a...

Full description

Saved in:
Bibliographic Details
Published inCompiler Construction pp. 43 - 58
Main Authors Gapeyev, Vladimir, Levin, Michael Y., Pierce, Benjamin C., Schmitt, Alan
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
1611-3349
DOI10.1007/978-3-540-31985-6_4

Cover

More Information
Summary:Xtatic is a lightweight extension of C# offering native support for statically typed XML processing. XML trees are built-in values in Xtatic, and static analysis of the trees manipulated by programs is part of the ordinary job of the typechecker. “Tree grep” pattern matching is used to investigate and transform XML trees. Xtatic’s surface syntax and type system are tightly integrated with those of C#. Beneath the hood, however, an implementation of Xtatic must address a number of issues common to any language supporting a declarative style of XML processing (e.g., XQuery, XSLT, XDuce, CDuce, Xact, Xen, etc.). In particular, it must provide representations for XML tags, trees, and textual data that use memory efficiently, support efficient pattern matching, allow maximal sharing of common substructures, and permit separate compilation. We analyze these representation choices in detail and describe the solutions used by the Xtatic compiler.
ISBN:9783540254119
3540254110
ISSN:0302-9743
1611-3349
1611-3349
DOI:10.1007/978-3-540-31985-6_4