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
Parsers in JavaScript
Search
Leif Gensert
April 22, 2020
Technology
0
45
Parsers in JavaScript
This is an introduction to parsers in JavaScript with examples of PEG.js
Leif Gensert
April 22, 2020
Tweet
Share
More Decks by Leif Gensert
See All by Leif Gensert
Sorbet - Is it really that tasty?
leifg
0
39
state_of_functional_programming.pdf
leifg
0
41
Bugs - What are they good for
leifg
0
21
Building Event Sourced Apps
leifg
1
820
Unicode Spaß
leifg
0
40
Event Sourcing - The Story Telling of Processes
leifg
1
66
Elixir Releases
leifg
0
140
Introduction to Rails
leifg
0
50
JRuby - The enterprise view
leifg
1
100
Other Decks in Technology
See All in Technology
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
2
120
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
1
150
実践アプリケーション設計 ③ドメイン駆動設計
recruitengineers
PRO
13
4.1k
ヘブンバーンズレッドのレンダリングパイプライン刷新
gree_tech
PRO
0
440
ここ一年のCCoEとしてのAWSコスト最適化を振り返る / CCoE AWS Cost Optimization devio2025
masahirokawahara
1
1.3k
TypeScript入門
recruitengineers
PRO
35
11k
事業価値と Engineering
recruitengineers
PRO
8
5.4k
まだ間に合う! StrandsとBedrock AgentCoreでAIエージェント構築に入門しよう
minorun365
PRO
11
750
スプリントレトロスペクティブはチーム観察の宝庫? 〜チームの衝突レベルに合わせたアプローチ仮説!〜
electricsatie
1
150
Flutterでキャッチしないエラーはどこに行く
taiju59
0
210
バッチ処理で悩むバックエンドエンジニアに捧げるAWS Glue入門
diggymo
3
100
Agile PBL at New Grads Trainings
kawaguti
PRO
1
120
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Optimizing for Happiness
mojombo
379
70k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
800
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Faster Mobile Websites
deanohume
309
31k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Fireside Chat
paigeccino
39
3.6k
Transcript
Hello World Parsers with JavaScript
None
Programming === Hiking
Compilers Reverse Engineering Building Developer Tools
You don't Say
Every single program can be reduced to Input Transformation Output
* Former Boss
None
Human Readable Parsing Machine Readable Grammar
None
"in 11 seconds" 11 "11 seconds ago" -11 "in 5
minutes" 300 "in 1 minute and 30 seconds ago" 90 "now" 0
Leif Demo
// 1 + 2 add(1,2) // 1 + (5 -
3) add(1, subtract(5,3)) // 1 + 5 * 3 add(1, multiply(5,3)) // (1 + 5) * 3 multiply(add(1,5), 3)
Leif Demo
What else? Domain Specific NLP Config Files (Re)Implement Programming Languages
Abstract Syntax Tree add(1, multiply(5,3)) { type: "callExpression", name: "add",
arguments: [1 { type: "callExpression", name: "add", arguments: [5, 3] }] }
Why?
Focus!
None
Leif Demo
- Parsers seem intimidating - Helps you understand Recursion -
Try out formulon.io
Shopping List
Back
Back