1. 13

Abstract: “Traditional compiler generators target a single stage within the compilation process. Each generator typically uses a dedicated specification language and the generated code often imposes restrictions on the program representation accepted as input or generated as output. This makes compilers larger and more complex than they need to be. We present a simple compiler that unifies specification and implementation of all its stages, using PEG-based transformations on a single, versatile representation. The resulting compiler is small, easy to understand, and highly suited to implementing its own implementation language.”

  1.  

  2. 3

    This paper always fascinated me. I’ve implemented a PEG library in racket, check it out https://docs.racket-lang.org/peg/index.html