Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The sbt-rats parser generator plugin for Scala

61f8010a7249d7ec93e197e96999fe6c?s=47 Tony Sloane
October 30, 2016

The sbt-rats parser generator plugin for Scala

With Franck Cassez and Scott Buckley. Tool talk at Scala Symposium 2016, Amsterdam.

61f8010a7249d7ec93e197e96999fe6c?s=128

Tony Sloane

October 30, 2016
Tweet

Transcript

  1. THE SBT-RATS PARSER GENERATOR PLUGIN FOR SCALA Anthony Sloane Franck

    Cassez Scott Buckley Programming Languages and Verification Group Macquarie University, Sydney, Australia
  2. DEMO

  3. RATS! http://cs.nyu.edu/rgrimm/xtc/rats-intro.html Robert Grimm Parsing expression grammars Packrat parsing Generates

    Java
  4. MORE RATS!

  5. SYNTAX DEFINITIONS

  6. SYNTAX DEFINITIONS

  7. TREE DEFINITION

  8. PRETTY-PRINTING

  9. BINARY PARSING

  10. EXPRESSIONS

  11. SCALA LLVM LIBRARY

  12. MQ SCALA SMTLIB Replaces a hand-written lexer, parser, pretty-printer of

    more than 2,500 Scala code lines with less than 500 lines of syntax definition
  13. SOFTWARE LANGUAGE ENGINEERING AT MACQUARIE UNIVERSITY https://bitbucket.org/inkytonik/sbt-rats https://bitbucket.org/inkytonik/kiama Anthony.Sloane@mq.edu.au @inkytonik

    on Twitter High-level language processing in a familiar programming setting strategic term rewriting dynamically-scheduled attribute grammars abstract state machines pretty-printing combinators