Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
The sbt-rats parser generator plugin for Scala
Search
Tony Sloane
October 30, 2016
Research
0
620
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
Embedding Attribute Grammars
inkytonik
0
68
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
58
LLVM and Scala
inkytonik
2
330
The Moama Functional Language Design and Implementation (and quite a bit about the Monto Disintegrated Development Environment)
inkytonik
0
100
Embedded Domain-Specific Languages
inkytonik
0
130
Monto: A Disintegrated Development Environment (WG 2.11 version)
inkytonik
2
84
Monto: A Disintegrated Development Environment
inkytonik
1
200
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
200
Embedding a Rewriting DSL in Scala
inkytonik
0
120
Other Decks in Research
See All in Research
Combating Misinformation in the age of LLMs
teacherpeterpan
0
130
CASCON 2023 Most Influential Paper Award Talk
tsantalis
0
120
Refactoring Mining - The key to unlock software evolution
tsantalis
0
260
「歴史的農業環境閲覧システム」と「迅速測図」について
wata909
1
610
研究効率化Tips_2024 / Research Efficiency Tips 2024
ryo_nakamura
5
2.8k
Bridging Continuous and Discrete Spaces: Interpretable Sentence Representation Learning via Compositional Operations
rudorudo11
0
160
Generative AI - practice and theory
gpeyre
1
570
僕たちがグラフニューラルネットワークを学ぶ理由
joisino
12
3.6k
LLMマルチエージェントを俯瞰する
masatoto
26
16k
Rの機械学習フレームワークの紹介〜tidymodelsを中心に〜 / machine_learning_with_r2024
s_uryu
0
230
自己教師あり学習による事前学習(CVIMチュートリアル)
naok615
2
1.4k
フルリモートワークでのスクラムのスケール
kmorita1111
2
1k
Featured
See All Featured
Atom: Resistance is Futile
akmur
259
25k
Agile that works and the tools we love
rasmusluckow
325
20k
Code Reviewing Like a Champion
maltzj
514
39k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
Music & Morning Musume
bryan
41
5.6k
The Invisible Side of Design
smashingmag
294
49k
Art, The Web, and Tiny UX
lynnandtonic
289
19k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Being A Developer After 40
akosma
57
580k
Building Your Own Lightsaber
phodgson
99
5.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
227
16k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
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
[email protected]
@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