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
710
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
70
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
78
LLVM and Scala
inkytonik
2
330
The Moama Functional Language Design and Implementation (and quite a bit about the Monto Disintegrated Development Environment)
inkytonik
0
110
Embedded Domain-Specific Languages
inkytonik
0
170
Monto: A Disintegrated Development Environment (WG 2.11 version)
inkytonik
2
100
Monto: A Disintegrated Development Environment
inkytonik
1
220
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
230
Embedding a Rewriting DSL in Scala
inkytonik
0
140
Other Decks in Research
See All in Research
Weekly AI Agents News! 9月号 論文のアーカイブ
masatoto
1
170
非ガウス性と非線形性に基づく統計的因果探索
sshimizu2006
0
480
ラムダ計算の拡張に基づく 音楽プログラミング言語mimium とそのVMの実装
tomoyanonymous
0
360
The Fellowship of Trust in AI
tomzimmermann
0
200
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
250
20241226_くまもと公共交通新時代シンポジウム
trafficbrain
0
310
Weekly AI Agents News! 9月号 プロダクト/ニュースのアーカイブ
masatoto
2
180
研究の進め方 ランダムネスとの付き合い方について
joisino
PRO
58
23k
チュートリアル:Mamba, Vision Mamba (Vim)
hf149
6
2k
ナレッジプロデューサーとしてのミドルマネージャー支援 - MIMIGURI「知識創造室」の事例の考察 -
chiemitaki
0
160
CUNY DHI_Lightning Talks_2024
digitalfellow
0
270
LLM 시대의 Compliance: Safety & Security
huffon
0
490
Featured
See All Featured
Become a Pro
speakerdeck
PRO
26
5.1k
Six Lessons from altMBA
skipperchong
27
3.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
3
180
A Tale of Four Properties
chriscoyier
157
23k
Music & Morning Musume
bryan
46
6.3k
The Cult of Friendly URLs
andyhume
78
6.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Site-Speed That Sticks
csswizardry
3
270
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
For a Future-Friendly Web
brad_frost
176
9.5k
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