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
77
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
120
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
Delta Airlines® Customer Care in the U.S.: How to Reach Them Now
bookingcomcustomersupportusa
0
110
Agentic AIとMCPを利用したサービス作成入門
mickey_kubo
0
390
数理最適化と機械学習の融合
mickey_kubo
15
9.1k
Large Language Model Agent: A Survey on Methodology, Applications and Challenges
shunk031
14
9.5k
ノンパラメトリック分布表現を用いた位置尤度場周辺化によるRTK-GNSSの整数アンビギュイティ推定
aoki_nosse
0
350
Ad-DS Paper Circle #1
ykaneko1992
0
5.8k
時系列データに対する解釈可能な 決定木クラスタリング
mickey_kubo
2
870
A multimodal data fusion model for accurate and interpretable urban land use mapping with uncertainty analysis
satai
3
260
とあるSREの博士「過程」 / A Certain SRE’s Ph.D. Journey
yuukit
8
3.9k
LLM-as-a-Judge: 文章をLLMで評価する@教育機関DXシンポ
k141303
3
850
Trust No Bot? Forging Confidence in AI for Software Engineering
tomzimmermann
1
260
cvpaper.challenge 10年の軌跡 / cvpaper.challenge a decade-long journey
gatheluck
1
280
Featured
See All Featured
Six Lessons from altMBA
skipperchong
28
3.9k
A designer walks into a library…
pauljervisheath
207
24k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
We Have a Design System, Now What?
morganepeng
53
7.7k
The Pragmatic Product Professional
lauravandoore
36
6.8k
Balancing Empowerment & Direction
lara
2
550
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Scaling GitHub
holman
461
140k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
The Invisible Side of Design
smashingmag
301
51k
Documentation Writing (for coders)
carmenintech
73
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