Reference. The next 700 data description languages
Cite
Cited by (2)
Interval Parsing Grammars for File Format Parsing zhangIntervalParsingGrammars2023
File formats specify how data is encoded for persistent storage. They cannot be formalized as context-free grammars since their specifications include context-sensitive patterns such as the random access pattern and the type-length-value pattern. We propose a new grammar mechanism called Interval Parsing Grammars IPGs) for file format specifications. An IPG attaches to every nonterminal/terminal an interval, which specifies the range of input the nonterminal/terminal consumes. By connecting intervals and attributes, the context-sensitive patterns in file formats can be well handled. In this paper, we formalize IPGs’ syntax as well as its semantics, and its semantics naturally leads to a parser generator that generates a recursive-descent parser from an IPG. In general, IPGs are declarative, modular, and enable termination checking. We have used IPGs to specify a number of file formats including ZIP, ELF, GIF, PE, and part of PDF; we have also evaluated the performance of the generated parsers.
From dirt to shovels: fully automatic tool generation from ad hoc data fisher-2008-from
Cites 42 works (1 here)
With notes (1)
PADS: a domain-specific language for processing ad hoc data fisher-2005-pads
External (41)
- PADS/ML: A functional data description language (2007)
- The next 700 data description languages (POPL 2006) (2006)
- The theory and practice of data description (PhD thesis) (2006)
- Polytypic syntax tree operations (2006)
- Dual syntax for XML languages (2005)
- Data format description language (DFDL): a proposal, working draft (2005)
- Programming Languages: Theory and Practice (unpublished) (2005)
- XDTM: The XML data type and mapping for specifying datasets (2005)
- A notation and system for expressing and executing cleanly typed workflows on messy scientific data (2005)
- Parsing expression grammars (2004)
- Adaptive Pattern Matching on Binary Data (2004)
- GGF DFDL primer (2004)
- Practical packrat parsing (Tech. Rep. TR2004-854) (2004)
- Implementing XQuery 1.0: The Galax experience (2003)
- Scrap your boilerplate: a practical design pattern for generic programming (2003)
- METS: An overview and tutorial (2003)
- DataScript - A Specification and Scripting Language for Binary Data (2002)
- Packrat parsing: simple, powerful, lazy, linear time (2002)
- Types and Programming Languages (2002)
- Web Protocols and Practice (2001)
- ASN.1: Communication between heterogeneous systems (2001)
- Packet types (2000)
- A new approach to generic functional programming (2000)
- Binary format definition (BFD), web page (2000)
- Featherweight Java (1999)
- Protocol programming in Erlang using binaries (1999)
- Bro: a system for detecting network intruders in real-time (1999)
- Monadic parsing in Haskell (1998)
- SableCC: An object oriented compiler framework (M.S. thesis) (1998)
- Polytypic programming (1996)
- ANTLR: A predicated‐ LL ( k ) parser generator (1995)
- Object-oriented programming with class dictionaries (1988)
- Recursive Programming Techniques (1975)
- Parsing algorithms with backtrack (1973)
- The next 700 programming languages (1966)
- Abstract syntax description language (ASDL), web page
- Gene Ontology project, web page
- Hierarchical Data Format 5 (HDF5), web page
- The Newick tree format, web page
- Tree formats (Workshop on Molecular Evolution web site)
- Bit level types (web page; cited only in the POPL version)