epfl-lara / scallion

LL(1) parser combinators in Scala
Apache License 2.0
56 stars 15 forks source link
ll1 ll1-grammar ll1-parser parser parser-combinators parsing parsing-combinators pretty-print pretty-printer scala

SCALL1ON

Overview

Scallion is a library for writing parsers and pretty printers for LL(1) languages in Scala.

Documentation

A comprehensive Scaladoc API is available online.

Parsing Algorithm

Scallion uses a novel parsing algorithm that we have described in the PLDI'20 paper: Zippy LL(1) Parsing with Derivatives. The algorithm has been formally proven correct in Coq.

Examples