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
13
state_of_functional_programming.pdf
leifg
0
26
Bugs - What are they good for
leifg
0
15
Building Event Sourced Apps
leifg
1
720
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
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
0
250
Compose Compiler Metricsを使った実践的なコードレビュー
tomorrowkey
1
220
web-application-security
matsuihidetoshi
0
170
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.6k
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
280
APIファーストなプロダクトマネジメントの実践 〜SaaSus Platformでの例〜 / "Practicing API-First Product Management - An Example with SaaSus Platform
oztick139
0
100
Databricks における 『MLOps』
databricksjapan
2
170
【NW X Security JAWS#3】L3-4:AWS環境のIPv6移行に向けて知っておきたいこと
shotashiratori
0
130
Postman v10リリース後を振り返る / Looking back at Postman v10 after release
yokawasa
1
160
ここが嬉しいABAC ここが辛いよABAC #再解説+補足編
masahirokawahara
1
270
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
120
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
600
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
21
1.6k
The Cult of Friendly URLs
andyhume
74
5.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
RailsConf 2023
tenderlove
4
540
[RailsConf 2023] Rails as a piece of cake
palkan
23
3.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
17
1.4k
Why Our Code Smells
bkeepers
PRO
331
56k
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