Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
The sbt-rats parser generator plugin for Scala
Tony Sloane
October 30, 2016
Research
0
340
The sbt-rats parser generator plugin for Scala
With Franck Cassez and Scott Buckley. Tool talk at Scala Symposium 2016, Amsterdam.
Tony Sloane
October 30, 2016
Tweet
Share
More Decks by Tony Sloane
See All by Tony Sloane
inkytonik
0
44
inkytonik
0
44
inkytonik
2
290
inkytonik
0
64
inkytonik
0
29
inkytonik
2
53
inkytonik
1
170
inkytonik
0
140
inkytonik
0
77
Other Decks in Research
See All in Research
waptech
5
550
yuukit
4
1.4k
butsugiri
1
170
scwuaptx
1
1.8k
tathi
0
230
noguhiro2002
1
1.1k
ledgerback
0
210
sobamchan
1
450
hiking
0
1.9k
matsumoto_r
PRO
7
1.8k
kikuzo
0
220
sei88888
0
360
Featured
See All Featured
searls
204
35k
lemiorhan
626
42k
bermonpainter
342
26k
mza
80
4.1k
maggiecrowley
8
400
morganepeng
17
1.1k
sachag
267
17k
roundedbygravity
241
21k
jrom
114
7.1k
marcelosomers
220
15k
lara
16
2.6k
dougneiner
55
5.4k
Transcript
THE SBT-RATS PARSER GENERATOR PLUGIN FOR SCALA Anthony Sloane Franck
Cassez Scott Buckley Programming Languages and Verification Group Macquarie University, Sydney, Australia
DEMO
RATS! http://cs.nyu.edu/rgrimm/xtc/rats-intro.html Robert Grimm Parsing expression grammars Packrat parsing Generates
Java
MORE RATS!
SYNTAX DEFINITIONS
SYNTAX DEFINITIONS
TREE DEFINITION
PRETTY-PRINTING
BINARY PARSING
EXPRESSIONS
SCALA LLVM LIBRARY
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
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