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
810
0
Share
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
More Decks by Tony Sloane
See All by Tony Sloane
Embedding Attribute Grammars
inkytonik
0
110
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
130
LLVM and Scala
inkytonik
2
370
The Moama Functional Language Design and Implementation (and quite a bit about the Monto Disintegrated Development Environment)
inkytonik
0
150
Embedded Domain-Specific Languages
inkytonik
0
210
Monto: A Disintegrated Development Environment (WG 2.11 version)
inkytonik
2
170
Monto: A Disintegrated Development Environment
inkytonik
1
250
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
270
Embedding a Rewriting DSL in Scala
inkytonik
0
190
Other Decks in Research
See All in Research
衛星×エッジAI勉強会 衛星上におけるAI処理制約とそ取組について
satai
4
520
2026 東京科学大 情報通信系 研究室紹介 (すずかけ台)
icttitech
0
3.7k
Using our influence and power for patient safety
helenbevan
0
360
SoftMatcha 2: 1兆語規模コーパスの超高速かつ柔らかい検索
e869120_sub
6
3.4k
LLMアプリケーションの透明性について
fufufukakaka
0
230
英語教育 “研究” のあり方:学術知とアウトリーチの緊張関係
terasawat
1
970
ローテーション別のサイドアウト戦略 ~なぜあのローテは回らないのか?~
vball_panda
0
340
typst の使い方:言語学を研究する学生のために
gitomochang
0
440
Harness Engineering and Al Agent
kzinmr
3
1.6k
Unified Audio Source Separation (Defense Slides)
kohei_1979
1
610
計算情報学研究室(数理情報学第7研究室)2026
tomohirokoana
0
510
Φ-Sat-2のAutoEncoderによる情報圧縮系論文
satai
4
740
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
820
エンジニアに許された特別な時間の終わり
watany
107
250k
Code Reviewing Like a Champion
maltzj
528
40k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
The untapped power of vector embeddings
frankvandijk
2
1.7k
Designing for Timeless Needs
cassininazir
1
250
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
550
The Spectacular Lies of Maps
axbom
PRO
1
790
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