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
800
0
Share
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
110
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
120
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
160
Monto: A Disintegrated Development Environment
inkytonik
1
250
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
Can We Teach Logical Reasoning to LLMs? – An Approach Using Synthetic Corpora (AAAI 2026 bridge keynote)
morishtr
1
190
ドメイン知識がない領域での自然言語処理の始め方
hargon24
1
280
英語教育 “研究” のあり方:学術知とアウトリーチの緊張関係
terasawat
1
730
CyberAgent AI Lab研修 / Social Implementation Anti-Patterns in AI Lab
chck
6
4.2k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
300
Earth AI: Unlocking Geospatial Insights with Foundation Models and Cross-Modal Reasoning
satai
3
720
教師あり学習と強化学習で作る 最強の数学特化LLM
analokmaus
2
1k
Dwangoでの漫画データ活用〜漫画理解と動画作成〜@コミック工学シンポジウム2025
kzmssk
0
200
量子コンピュータの紹介
oqtopus
0
260
湯村研究室の紹介2025 / yumulab2025
yumulab
0
330
2026-01-30-MandSL-textbook-jp-cos-lod
yegusa
1
870
都市交通マスタープランとその後への期待@熊本商工会議所・熊本経済同友会
trafficbrain
0
180
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
110
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
230
Crafting Experiences
bethany
1
100
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Utilizing Notion as your number one productivity tool
mfonobong
4
280
RailsConf 2023
tenderlove
30
1.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
160
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
90
Into the Great Unknown - MozCon
thekraken
40
2.3k
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