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
760
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
78
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
110
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
130
Monto: A Disintegrated Development Environment
inkytonik
1
240
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
250
Embedding a Rewriting DSL in Scala
inkytonik
0
160
Other Decks in Research
See All in Research
MetaEarth: A Generative Foundation Model for Global-Scale Remote Sensing Image Generation
satai
4
200
Agentic AIとMCPを利用したサービス作成入門
mickey_kubo
0
550
Adaptive Experimental Design for Efficient Average Treatment Effect Estimation and Treatment Choice
masakat0
0
160
Time to Cash: The Full Stack Breakdown of Modern ATM Attacks
ratatata
0
140
EarthSynth: Generating Informative Earth Observation with Diffusion Models
satai
3
270
AIスパコン「さくらONE」のLLM学習ベンチマークによる性能評価 / SAKURAONE LLM Training Benchmarking
yuukit
0
350
言語モデルの地図:確率分布と情報幾何による類似性の可視化
shimosan
5
1.5k
能動適応的実験計画
masakat0
2
810
snlp2025_prevent_llm_spikes
takase
0
170
診断前の病歴テキストを対象としたLLMによるエンティティリンキング精度検証
hagino3000
1
130
SNLP2025:Can Language Models Reason about Individualistic Human Values and Preferences?
yukizenimoto
0
130
利用シーンを意識した推薦システム〜SpotifyとAmazonの事例から〜
kuri8ive
1
250
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Visualization
eitanlees
148
16k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Bash Introduction
62gerente
615
210k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Rails Girls Zürich Keynote
gr2m
95
14k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Making Projects Easy
brettharned
117
6.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
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