Parsers are ubiquitous in computing: many applications de- pend on fast decoding of data. Parser combinators are an in- tuitive tool for writing parsers: tight integration with the host language enables grammar specifications to be interleaved with processing of parse results. Unfortunately, parser com- binators are slow due to the high overhead on the abstraction mechanisms that enable composition. We present a technique for eliminating such overhead. We use staging, a form of runtime code generation, to dissoci- ate input parsing from parser composition, and eliminate in- termediate data structures and computations associated with parser composition at staging time. A key challenge is to maintain support for input dependent grammars, which have no clear stage distinction. Our approach applies to top-down recursive-descent parsers as well as bottom-up nondeterministic parsers with key applications in dynamic programming on sequences, where we auto-generate code for parallel hardware. We achieve performance comparable to specialized, hand-written parsers.
Thu 23 OctDisplayed time zone: Tijuana, Baja California change
15:30 - 17:00 | |||
15:30 22mTalk | Adaptive LL(*) Parsing: The Power of Dynamic Analysis OOPSLA Terence Parr University of San Francisco, Sam Harwell University of Texas at Austin, Kathleen Fisher Tufts University Link to publication File Attached | ||
15:52 22mTalk | Automated Migration of Build Scripts using Dynamic Analysis and Search-Based Refactoring OOPSLA Milos Gligoric University of Illinois at Urbana-Champaign, Wolfram Schulte Microsoft, Chandra Prasad Microsoft, Danny van Velzen Microsoft, Iman Narasamdya Microsoft, Ben Livshits Microsoft Research Link to publication | ||
16:15 22mTalk | Mix10: Compiling MATLAB to X10 for High Performance OOPSLA Link to publication | ||
16:37 22mTalk | Staged Parser Combinators for Efficient Data Processing OOPSLA Manohar Jonnalagedda EPFL, Switzerland, Thierry Coppey EPFL, Switzerland; Google, Sandro Stucki EPFL, Switzerland, Tiark Rompf Purdue & Oracle Labs, Martin Odersky Ecole Polytechnique Federale de Lausanne Link to publication |