Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
DSL Lightning talk
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
DAloG
September 17, 2014
Programming
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DSL Lightning talk
Short intro into DSL in Objective-C
DAloG
September 17, 2014
More Decks by DAloG
See All by DAloG
State normalization (RU)
dalog
0
250
Redux + MQTT
dalog
1
830
От задач к проблемам
dalog
1
290
Unlimited power of Data-Driven UI
dalog
4
710
Data-Driven View Controllers. Tips and Tricks
dalog
5
2k
2 years of Redux in iOS. Lessons learned
dalog
0
430
Why unidirectional architecture matter for iOS.
dalog
1
340
Mobile backend without REST
dalog
2
160
Self managed teams 101
dalog
0
210
Other Decks in Programming
See All in Programming
App Intentsのビルドプロセスを支える技術
kntkymt
0
380
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
120
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
7.3k
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
5
3.2k
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
310
すこし踏み込む CancellationToken
htkym
0
310
スマート反転とウェブアクセシビリティ
camiha
0
210
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
230
What We Talk About When We Talk About XP
m_seki
2
640
Jetpack Compose メカニズム
skydoves
0
440
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
720
How I Stole PSI from Android Studio - DroidKaigi2026
worker8
0
130
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
510
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Scaling GitHub
holman
464
140k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
Navigating Weather and Climate Data
rabernat
0
520
Between Models and Reality
mayunak
4
460
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
500
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
Transcript
DSL Практика создания и использования Алексей Демедецкий - 2014
История вопроса • Языки низкого уровня (C, C++, Prolog) •
Появление платформ (Java, .NET) • Развитие возможностей языков (Scala, Ruby) • Развитие инструментария (Clang) • Новая волна языков (D, Rust)
Примеры и приемы
Nocilla https://github.com/luisobo/Nocilla
Transformer https://github.com/schwa/Transformer-DSL
CoreData https://github.com/kpbode/CoreDataDSL
Parus https://github.com/DAlOG/Parus
Sensus
NSPredicate builder
Основные приемы • Парсинг строк • «Цепные блоки» • Препроцессор
• Фальшивый суперкласс
Основные приемы
Преимущества • Выразительность • Раннее определение ошибок • Ограниченность языка
• Авто дополнение
Недостатки • Высокий порог входа • Узкий коридор изменений •
Сложность написания • Низкое КПД усилий.
Выводы
Вопросы? https://speakerdeck.com/dalog/dsl-lightning-talk Skype: nobidon Twitter: DAlooG