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
720
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
72
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
88
LLVM and Scala
inkytonik
2
330
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
180
Monto: A Disintegrated Development Environment (WG 2.11 version)
inkytonik
2
110
Monto: A Disintegrated Development Environment
inkytonik
1
230
Respect Your Parents: How Attribution and Rewriting Can Get Along
inkytonik
0
240
Embedding a Rewriting DSL in Scala
inkytonik
0
150
Other Decks in Research
See All in Research
Evaluating Tool-Augmented Agents in Remote Sensing Platforms
satai
3
180
Batch Processing Algorithm for Elliptic Curve Operations and Its AVX-512 Implementation
herumi
0
130
ドローンやICTを活用した持続可能なまちづくりに関する研究
nro2daisuke
0
170
SpectralMamba: Efficient Mamba for Hyperspectral Image Classification
satai
3
190
20250226 NLP colloquium: "SoftMatcha: 10億単語規模コーパス検索のための柔らかくも高速なパターンマッチャー"
de9uch1
0
210
Bluesky Game Dev
trezy
0
170
Weekly AI Agents News! 11月号 論文のアーカイブ
masatoto
0
310
クラウドのテレメトリーシステム研究動向2025年
yuukit
3
700
3D Gaussian Splattingによる高効率な新規視点合成技術とその応用
muskie82
0
130
複数データセットを用いた動作認識
yuyay
0
140
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
350
NLP2025 WS Shared Task 文法誤り訂正部門 ehiMetrick
sugiyamaseiji
0
130
Featured
See All Featured
Code Review Best Practice
trishagee
67
18k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Building Adaptive Systems
keathley
40
2.4k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Practical Orchestrator
shlominoach
186
10k
Gamification - CAS2011
davidbonilla
80
5.2k
The Language of Interfaces
destraynor
156
24k
A Philosophy of Restraint
colly
203
16k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Agile that works and the tools we love
rasmusluckow
328
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