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
840
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
More Decks by Tony Sloane
See All by Tony Sloane
Embedding Attribute Grammars
inkytonik
0
120
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
140
LLVM and Scala
inkytonik
2
370
The Moama Functional Language Design and Implementation (and quite a bit about the Monto Disintegrated Development Environment)
inkytonik
0
160
Embedded Domain-Specific Languages
inkytonik
0
220
Monto: A Disintegrated Development Environment (WG 2.11 version)
inkytonik
2
180
Monto: A Disintegrated Development Environment
inkytonik
1
250
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
280
Embedding a Rewriting DSL in Scala
inkytonik
0
190
Other Decks in Research
See All in Research
東京大学工学部計数工学科、計数工学特別講義の説明資料
kikuzo
0
650
Pretrain Where? Investigating How Pretraining Data Diversity Impacts Geospatial Foundation Model Performance
satai
3
130
超効率化への挑戦:1bit LLMの現状と展望
yumaichikawa
0
670
ハードウェア研究で国際トップ会議を目指す!IROS 2027での論文採択を目指して
ayatokanada
6
3.5k
Apache Gravitinoで実現する Icebergカタログ統合とアクセスの一元化
matsumooon
0
490
SLAMはどこまで解決されたのか?
tomonom
0
1.3k
敵対生成プロンプト同時探索による内省型プロンプト最適化
kinoue_smarthr
0
400
進学校の生徒にはア行の苗字が多いのか
ozekinote
0
560
論文紹介: Understanding Epistemic Language with a Language-augmented Bayesian Theory of Mind
hisaokatsumi
0
150
LA-Bench 2025:実験指示から実行可能手順を生成するためのデータセット/LA-Bench 2025: A Dataset for Generating Executable Experimental Procedures from Experimental Instructions
stktu
0
150
「AIとWhyを深堀る」をAIと深堀る
iflection
0
610
COMETAを用いたデータ民主化運動の歴史
sazimai
0
240
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
550
Building Applications with DynamoDB
mza
96
7.2k
Ruling the World: When Life Gets Gamed
codingconduct
0
320
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
660
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
Producing Creativity
orderedlist
PRO
348
41k
Paper Plane
katiecoart
PRO
2
53k
Between Models and Reality
mayunak
4
450
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
510
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
The agentic SEO stack - context over prompts
schlessera
0
890
How to Talk to Developers About Accessibility
jct
2
540
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