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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
98
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
110
LLVM and Scala
inkytonik
2
350
The Moama Functional Language Design and Implementation (and quite a bit about the Monto Disintegrated Development Environment)
inkytonik
0
130
Embedded Domain-Specific Languages
inkytonik
0
200
Monto: A Disintegrated Development Environment (WG 2.11 version)
inkytonik
2
140
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
生成AI による論文執筆サポート・ワークショップ ─ サーベイ/リサーチクエスチョン編 / Workshop on AI-Assisted Paper Writing Support: Survey/Research Question Edition
ks91
PRO
0
130
"主観で終わらせない"定性データ活用 ― プロダクトディスカバリーを加速させるインサイトマネジメント / Utilizing qualitative data that "doesn't end with subjectivity" - Insight management that accelerates product discovery
kaminashi
15
19k
ForestCast: Forecasting Deforestation Risk at Scale with Deep Learning
satai
2
310
地域丸ごとデイサービス「Go トレ」の紹介
smartfukushilab1
0
850
Tiaccoon: Unified Access Control with Multiple Transports in Container Networks
hiroyaonoe
0
470
Nullspace MPC
mizuhoaoki
1
660
20251023_くまもと21の会例会_「車1割削減、渋滞半減、公共交通2倍」をめざして.pdf
trafficbrain
0
170
When Learned Data Structures Meet Computer Vision
matsui_528
1
2.4k
GPUを利用したStein Particle Filterによる点群6自由度モンテカルロSLAM
takuminakao
0
880
生成的情報検索時代におけるAI利用と認知バイアス
trycycle
PRO
0
220
Sat2City:3D City Generation from A Single Satellite Image with Cascaded Latent Diffusion
satai
4
580
スキマバイトサービスにおける現場起点でのデザインアプローチ
yoshioshingyouji
0
280
Featured
See All Featured
Accessibility Awareness
sabderemane
0
42
Measuring & Analyzing Core Web Vitals
bluesmoon
9
740
How GitHub (no longer) Works
holman
316
140k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.6k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
710
Building Flexible Design Systems
yeseniaperezcruz
330
40k
So, you think you're a good person
axbom
PRO
2
1.9k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
160
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
190
Building Adaptive Systems
keathley
44
2.9k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
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