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
36
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
14
state_of_functional_programming.pdf
leifg
0
27
Bugs - What are they good for
leifg
0
15
Building Event Sourced Apps
leifg
1
730
Unicode Spaß
leifg
0
32
Event Sourcing - The Story Telling of Processes
leifg
1
49
Elixir Releases
leifg
0
130
Introduction to Rails
leifg
0
39
JRuby - The enterprise view
leifg
1
85
Other Decks in Technology
See All in Technology
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
3
620
アクセス制御にまつわる改善 / Improving access control
itkq
0
590
認知症フレンドリーテックとスタックチャン
naokiuc
0
140
成長をサポートするピープルマネジメントのやり方
sioncojp
8
900
【NW X Security JAWS#3】L3-4:AWS環境のIPv6移行に向けて知っておきたいこと
shotashiratori
1
610
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
330
Rustで「プリズモイダル法」を利用して「土量計算」をガチでやる
nokonoko1203
1
270
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
150
DMM.com アルファ室採用案内資料
hsugita
1
220
The AI Revolution Will Not Be Monopolized: Behind the scenes
inesmontani
PRO
1
150
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
1
1.6k
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
270
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
21
1.4k
Bash Introduction
62gerente
605
210k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
6
3.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
22
1.6k
Statistics for Hackers
jakevdp
790
220k
Why Our Code Smells
bkeepers
PRO
331
56k
Happy Clients
brianwarren
92
6.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
242
1.2M
Scaling GitHub
holman
457
140k
Designing the Hi-DPI Web
ddemaree
276
33k
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