Home > Programming > OOPEG: An Object-Oriented Parser Generator based on Parsing Expression Grammars

OOPEG: An Object-Oriented Parser Generator based on Parsing Expression Grammars

Jeg har lige afsluttet og afleveret mit kandidat projekt. Vores speciale var Programmings Teknologi og vi har lavet en Parser Generator til C#.

OOPEG vores parser generator er baseret på en relativ ny parsing teknologi der hedder Parsing Expression Grammars (PEG). Det er et alternativ til Context Free Grammars (CFG).

Man beskriver det sprog man gerne vil lave I PEG filer I Visual Studio 2010 og så genererer OOPEG en C# parser til dit sprog. Den parser kan man så kalde på noget input og så får man et type stærkt abstract syntax tree at arbejde videre med.

Vi har integreret denne process I Visual Studio ved brug af MSBuild og Visual Studio Project Templates så det er lige til at gå til.

Vores speciale handler om hvorvidt det at bruge PEG til at lave en parser generator er en god ide og hvilke teknikker vi kan bruge til at lave det rigtig smart at arbejde med.

Vi fandt ud af at vi med meget lidt syntax kan beskrive et sprog, hvordan sproget bliver parser og hvordan AST’er bliver bygget ud fra grammatikken.

Dette sammen med visual studio integration gør det super nemt at definere en ny parser til et sprog og bagefter bygge en compiler til den.

For mere information kig på vores projekt side: http://jacobkorsgaard.com/oopeg

  1. No comments yet.
  1. No trackbacks yet.