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
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
110
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
110
LLVM and Scala
inkytonik
2
360
The Moama Functional Language Design and Implementation (and quite a bit about the Monto Disintegrated Development Environment)
inkytonik
0
140
Embedded Domain-Specific Languages
inkytonik
0
210
Monto: A Disintegrated Development Environment (WG 2.11 version)
inkytonik
2
150
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
180
Other Decks in Research
See All in Research
視覚から身体性を持つAIへ: 巧緻な動作の3次元理解
tkhkaeio
1
220
SREはサイバネティクスの夢をみるか? / Do SREs Dream of Cybernetics?
yuukit
3
440
FUSE-RSVLM: Feature Fusion Vision-Language Model for Remote Sensing
satai
3
250
[SITA2025 Workshop] 空中計算による高速・低遅延な分散回帰分析
k_sato
0
130
From Data Meshes to Data Spaces
posedio
PRO
0
470
AIを叩き台として、 「検証」から「共創」へと進化するリサーチ
mela_dayo
0
190
衛星×エッジAI勉強会 衛星上におけるAI処理制約とそ取組について
satai
4
340
Earth AI: Unlocking Geospatial Insights with Foundation Models and Cross-Modal Reasoning
satai
3
660
討議:RACDA設立30周年記念都市交通フォーラム2026
trafficbrain
0
640
教師あり学習と強化学習で作る 最強の数学特化LLM
analokmaus
2
980
Upgrading Multi-Agent Pathfinding for the Real World
kei18
0
520
業界横断 副業コンプライアンス調査 三者(副業者・本業先・発注者)におけるトラブル認知ギャップの構造分析
fkske
0
1.2k
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
800
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.5k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
690
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Test your architecture with Archunit
thirion
1
2.2k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
240
The Mindset for Success: Future Career Progression
greggifford
PRO
0
280
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Code Review Best Practice
trishagee
74
20k
How to train your dragon (web standard)
notwaldorf
97
6.6k
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