
TL;DR
This thesis introduces Amethyst, a versatile pattern matching system that generates efficient parsers and can be used for IDE features and compiler optimizations, employing structured grammars for linear time performance.
Contribution
The paper presents Amethyst, a novel pattern matching framework that unifies parser generation and regular expression matching with linear time complexity.
Findings
Amethyst produces effective top-down parsers.
It achieves linear time complexity using structured grammars.
The system is applicable to IDE features and compiler optimizations.
Abstract
In this thesis we develop tools for effective and flexible pattern matching. We introduce a new pattern matching system called amethyst. Amethyst is not only a generator of parsers of programming languages, but can also serve as an alternative to tools for matching regular expressions. Our framework also produces dynamic parsers. Its intended use is in the context of IDE (accurate syntax highlighting and error detection on the fly). Amethyst offers pattern matching of general data structures. This makes it a useful tool for implementing compiler optimizations such as constant folding, instruction scheduling, and dataflow analysis in general. The parsers produced are essentially top-down parsers. Linear time complexity is obtained by introducing the novel notion of structured grammars and regularized regular expressions. Amethyst uses techniques known from compiler optimizations to…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Algorithms and Data Compression · semigroups and automata theory
