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
730
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
94
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
180
Monto: A Disintegrated Development Environment (WG 2.11 version)
inkytonik
2
110
Monto: A Disintegrated Development Environment
inkytonik
1
230
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
240
Embedding a Rewriting DSL in Scala
inkytonik
0
150
Other Decks in Research
See All in Research
NLP2025 WS Shared Task 文法誤り訂正部門 ehiMetrick
sugiyamaseiji
0
170
Adaptive fusion of multi-modal remote sensing data for optimal sub-field crop yield prediction
satai
3
130
請求書仕分け自動化での物体検知モデル活用 / Utilization of Object Detection Models in Automated Invoice Sorting
sansan_randd
0
170
定性データ、どう活かす? 〜定性データのための分析基盤、はじめました〜 / How to utilize qualitative data? ~We have launched an analysis platform for qualitative data~
kaminashi
6
870
研究テーマのデザインと研究遂行の方法論
hisashiishihara
5
1k
NLP2025SharedTask翻訳部門
moriokataku
0
270
Remote Sensing Vision-Language Foundation Models without Annotations via Ground Remote Alignment
satai
3
420
Weekly AI Agents News! 1月号 アーカイブ
masatoto
1
270
サーブレシーブ成功率は勝敗に影響するか?
vball_panda
0
640
Pix2Poly: A Sequence Prediction Method for End-to-end Polygonal Building Footprint Extraction from Remote Sensing Imagery
satai
3
290
GeoCLIP: Clip-Inspired Alignment between Locations and Images for Effective Worldwide Geo-localization
satai
3
130
言語モデルLUKEを経済の知識に特化させたモデル「UBKE-LUKE」について
petter0201
0
350
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
523
40k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
GraphQLとの向き合い方2022年版
quramy
46
14k
StorybookのUI Testing Handbookを読んだ
zakiyama
29
5.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
23
2.7k
Designing for Performance
lara
608
69k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
690
Scaling GitHub
holman
459
140k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
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