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
780
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
91
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
190
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
260
Embedding a Rewriting DSL in Scala
inkytonik
0
180
Other Decks in Research
See All in Research
AWSの耐久性のあるRedis互換KVSのMemoryDBについての論文を読んでみた
bootjp
1
390
Earth AI: Unlocking Geospatial Insights with Foundation Models and Cross-Modal Reasoning
satai
2
270
若手研究者が国際会議(例えばIROS)でワークショップを企画するメリットと成功法!
tanichu
0
130
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
260
大規模言語モデルにおけるData-Centric AIと合成データの活用 / Data-Centric AI and Synthetic Data in Large Language Models
tsurubee
1
470
データサイエンティストをめぐる環境の違い2025年版〈一般ビジネスパーソン調査の国際比較〉
datascientistsociety
PRO
0
400
AIグラフィックデザインの進化:断片から統合(One Piece)へ / From Fragment to One Piece: A Survey on AI-Driven Graphic Design
shunk031
0
580
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
その推薦システムの評価指標、ユーザーの感覚とズレてるかも
kuri8ive
1
290
「リアル×スキマ時間」を活用したUXリサーチ 〜新規事業を前に進めるためのUXリサーチプロセスの設計〜
techtekt
PRO
0
220
[RSJ25] Enhancing VLA Performance in Understanding and Executing Free-form Instructions via Visual Prompt-based Paraphrasing
keio_smilab
PRO
0
190
病院向け生成AIプロダクト開発の実践と課題
hagino3000
0
490
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
The Limits of Empathy - UXLibs8
cassininazir
1
200
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
61
47k
Rails Girls Zürich Keynote
gr2m
95
14k
Building the Perfect Custom Keyboard
takai
1
670
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
0
980
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
What the history of the web can teach us about the future of AI
inesmontani
PRO
0
380
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Optimizing for Happiness
mojombo
379
70k
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