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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
190
Other Decks in Research
See All in Research
「なんとなく」の顧客理解から脱却する ──顧客の解像度を武器にするインサイトマネジメント
tajima_kaho
10
7.4k
論文紹介 "ReSim: Reliable World Simulation for Autonomous Driving"
kogo
0
170
YOLO26_ Key Architectural Enhancements and Performance Benchmarking for Real-Time Object Detection
satai
3
430
ペットのかわいい瞬間を撮影する オートシャッターAIアプリへの スマートラベリングの適用
mssmkmr
0
460
[BlackHatAsia2026] Hidden Telemetry: Uncovering TraceLogging ETW Providers You're Not Using (Yet)
asuna_jp
0
150
Φ-Sat-2のAutoEncoderによる情報圧縮系論文
satai
4
410
言語モデルから言語について語る際に押さえておきたいこと
eumesy
PRO
5
2.1k
20年前に50代だった人たちの今
hysmrk
0
180
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
320
[Devfest Incheon 2025] 모두를 위한 친절한 언어모델(LLM) 학습 가이드
beomi
2
1.5k
Overshoot: An analysis of progress, risks and opportunities for decarbonising surface transport
cutcarbon
0
130
羽田新ルート運用6年の検証
1manken
0
130
Featured
See All Featured
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
260
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Unsuck your backbone
ammeep
672
58k
The Invisible Side of Design
smashingmag
303
52k
ラッコキーワード サービス紹介資料
rakko
1
3.1M
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
94
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
280
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
330
Git: the NoSQL Database
bkeepers
PRO
432
67k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
420
Java REST API Framework Comparison - PWX 2021
mraible
34
9.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