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
740
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
75
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
97
LLVM and Scala
inkytonik
2
340
The Moama Functional Language Design and Implementation (and quite a bit about the Monto Disintegrated Development Environment)
inkytonik
0
120
Embedded Domain-Specific Languages
inkytonik
0
190
Monto: A Disintegrated Development Environment (WG 2.11 version)
inkytonik
2
120
Monto: A Disintegrated Development Environment
inkytonik
1
240
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
240
Embedding a Rewriting DSL in Scala
inkytonik
0
160
Other Decks in Research
See All in Research
数理最適化に基づく制御
mickey_kubo
5
640
作業記憶の発達的特性が言語獲得の臨界期を形成する(NLP2025)
chemical_tree
2
570
Collaborative Development of Foundation Models at Japanese Academia
odashi
2
550
データサイエンティストの就労意識~2015→2024 一般(個人)会員アンケートより
datascientistsociety
PRO
0
600
プロシェアリング白書2025_PROSHARING_REPORT_2025
circulation
1
720
実行環境に中立なWebAssemblyライブマイグレーション機構/techtalk-2025spring
chikuwait
0
200
ウッドスタックチャン:木材を用いた小型エージェントロボットの開発と印象評価 / ec75-sato
yumulab
1
350
研究テーマのデザインと研究遂行の方法論
hisashiishihara
5
1.3k
Adaptive fusion of multi-modal remote sensing data for optimal sub-field crop yield prediction
satai
3
180
ASSADS:ASMR動画に合わせて撫でられる感覚を提示するシステムの開発と評価 / ec75-shimizu
yumulab
1
300
SSII2025 [TS3] 医工連携における画像情報学研究
ssii
PRO
2
990
Introduction of NII S. Koyama's Lab (AY2025)
skoyamalab
0
460
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
71
4.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
670
KATA
mclloyd
29
14k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Building Adaptive Systems
keathley
42
2.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 Anthony.Sloane@mq.edu.au @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