OOPEG: An Object-Oriented Parser Generator Based on Parsing Expression Grammars
Authors
Korsgaard, Jacob ; Krag, Jørgen Ulrik B.
Term
2. term
Education
Publication year
2010
Submitted on
2010-07-30
Pages
96
Abstract
OOPEG er en parsergenerator skrevet i C#, som bruger Parsing Expression Grammars (PEG). Mange eksisterende parsergeneratorer (ofte kaldet compiler‑compilers) har tæt og vanskelig inputsyntaks, fordi de blander grammatikkens regler med semantiske handlinger, mærkater og ekstra markeringer for at fjerne tvetydighed. Ved at bruge PEG’er forbliver vores grammatikker korte og præcise og beskriver samtidig selve parseproceduren, hvilket gør det muligt for OOPEG at generere objektorienterede abstrakte syntakstræer (AST’er) med meget lidt markup. Parse‑motoren er modulær og objektorienteret og anvender packrat‑parsing, en memobaseret metode, der giver ydeevne egnet til brug i produktion. For at gøre OOPEG let at tage i brug inkluderer vi en vejledning til at skabe et enkelt sprog samt integration med Visual Studio 2010‑IDE’en.
OOPEG is a parser generator built in C# that uses Parsing Expression Grammars (PEG). Many existing parser generators (often called compiler-compilers) have dense input formats because they mix grammar rules with semantic actions, labels, and extra annotations to resolve ambiguities. By relying on PEGs, our grammars remain concise while also specifying the parsing procedure, which lets OOPEG produce object-oriented abstract syntax trees (ASTs) with very little markup. The parsing engine is modular and object-oriented, and it employs packrat parsing, a memoization-based approach that delivers performance suitable for production use. To make OOPEG easy to adopt, we include a tutorial for creating a simple language and provide integration with the Visual Studio 2010 IDE.
[This abstract was generated with the help of AI]
Keywords
Documents
