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
790
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
110
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
110
LLVM and Scala
inkytonik
2
360
The Moama Functional Language Design and Implementation (and quite a bit about the Monto Disintegrated Development Environment)
inkytonik
0
140
Embedded Domain-Specific Languages
inkytonik
0
210
Monto: A Disintegrated Development Environment (WG 2.11 version)
inkytonik
2
150
Monto: A Disintegrated Development Environment
inkytonik
1
240
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
270
Embedding a Rewriting DSL in Scala
inkytonik
0
180
Other Decks in Research
See All in Research
その推薦システムの評価指標、ユーザーの感覚とズレてるかも
kuri8ive
1
330
2025-11-21-DA-10th-satellite
yegusa
0
130
Any-Optical-Model: A Universal Foundation Model for Optical Remote Sensing
satai
3
150
湯村研究室の紹介2025 / yumulab2025
yumulab
0
310
英語教育 “研究” のあり方:学術知とアウトリーチの緊張関係
terasawat
1
370
"主観で終わらせない"定性データ活用 ― プロダクトディスカバリーを加速させるインサイトマネジメント / Utilizing qualitative data that "doesn't end with subjectivity" - Insight management that accelerates product discovery
kaminashi
16
22k
[SITA2025 Workshop] 空中計算による高速・低遅延な分散回帰分析
k_sato
0
110
R&Dチームを起ち上げる
shibuiwilliam
1
190
ウェブ・ソーシャルメディア論文読み会 第36回: The Stepwise Deception: Simulating the Evolution from True News to Fake News with LLM Agents (EMNLP, 2025)
hkefka385
0
200
「なんとなく」の顧客理解から脱却する ──顧客の解像度を武器にするインサイトマネジメント
tajima_kaho
10
6.4k
20年前に50代だった人たちの今
hysmrk
0
160
Ankylosing Spondylitis
ankh2054
0
140
Featured
See All Featured
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
140
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Test your architecture with Archunit
thirion
1
2.2k
Chasing Engaging Ingredients in Design
codingconduct
0
130
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
220
It's Worth the Effort
3n
188
29k
AI: The stuff that nobody shows you
jnunemaker
PRO
3
340
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
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