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
200
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
Mamba-in-Mamba: Centralized Mamba-Cross-Scan in Tokenized Mamba Model for Hyperspectral Image Classification
satai
3
590
ロボット学習における大規模検索技術の展開と応用
denkiwakame
1
210
財務諸表監査のための逐次検定
masakat0
1
250
Aurora Serverless からAurora Serverless v2への課題と知見を論文から読み解く/Understanding the challenges and insights of moving from Aurora Serverless to Aurora Serverless v2 from a paper
bootjp
6
1.5k
Tiaccoon: Unified Access Control with Multiple Transports in Container Networks
hiroyaonoe
0
620
湯村研究室の紹介2025 / yumulab2025
yumulab
0
300
教師あり学習と強化学習で作る 最強の数学特化LLM
analokmaus
2
890
2026.01ウェビナー資料
elith
0
220
Sat2City:3D City Generation from A Single Satellite Image with Cascaded Latent Diffusion
satai
4
660
学習型データ構造:機械学習を内包する新しいデータ構造の設計と解析
matsui_528
6
3.1k
第66回コンピュータビジョン勉強会@関東 Epona: Autoregressive Diffusion World Model for Autonomous Driving
kentosasaki
0
350
R&Dチームを起ち上げる
shibuiwilliam
1
160
Featured
See All Featured
Side Projects
sachag
455
43k
Code Review Best Practice
trishagee
74
20k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
Leo the Paperboy
mayatellez
4
1.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
77
Typedesign – Prime Four
hannesfritz
42
2.9k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
57
50k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
94
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
450
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