Reference. PADS: a domain-specific language for processing ad hoc data
Cite
Cited by (6)
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.
CoStar: A verified ALL(*) parser lasserCoStarVerifiedALL2021
Parsers are security-critical components of many software systems, and verified parsing therefore has a key role to play in secure software design. However, existing verified parsers for context-free grammars are limited in their expressiveness, termination properties, or performance characteristics. They are only compatible with a restricted class of grammars, they are not guaranteed to terminate on all inputs, or they are not designed to be performant on grammars for real-world programming languages and data formats. In this work, we present CoStar, a verified parser that addresses these limitations. The parser is implemented with the Coq Proof Assistant and is based on the ALL(*) parsing algorithm. CoStar is sound and complete for all non-left-recursive grammars; it produces a correct parse tree for its input whenever such a tree exists, and it correctly detects ambiguous inputs. CoStar also provides strong termination guarantees; it terminates without error on all inputs when applied to a non-left-recursive grammar. Finally, CoStar achieves linear-time performance on a range of unambiguous grammars for commonly used languages and data formats.
Automatic Discovery and Synthesis of Checksum Algorithms from Binary Data Samples labell-2020-automatic
TxForest: A DSL for Concurrent Filestores dilorenzo-2019-txforest
From dirt to shovels: fully automatic tool generation from ad hoc data fisher-2008-from
The next 700 data description languages fisher-2006-the
Cites 27 works (0 here)
External (27)
- XQuery 1.0: An XML Query Language (W3C Working Draft) (2004)
- Hancock: A language for analyzing transactional data streams (2004)
- Implementing XQuery 1.0: The Galax experience (2003)
- DataScript - A Specification and Scripting Language for Binary Data (2002)
- Gigascope: a stream database for network applications (2002)
- Fast, small-space algorithms for approximate histogram maintenance (2002)
- Improving web performance by client characterization driven server adaptation (2002)
- How to summarize the universe: Dynamic maintenance of quantiles (2002)
- Web Protocols and Practice (2001)
- ASN.1: Communication between heterogeneous systems (2001)
- On network-aware clustering of Web clients (2000)
- Packet types (2000)
- The AT&T AST opensource software collection (2000)
- C-frontend library for SML/NJ (1999)
- Information mining platforms (1999)
- Daytona and the fourth-generation language Cymbal (1999)
- A software engineering experiment in software component generation (1996)
- Software design for reliability and reuse (1994)
- SFIO: Safe/fast string/file IO (1991)
- Abstract syntax description language (ASDL), web page
- Cisco NetFlow, web page
- DFDL project, web page
- Erlang bit syntax
- Galax user manual
- Hypertext transfer protocol – HTTP/1.1 (RFC 2616)
- PADS user manual
- Unicode home page