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
43
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
32
state_of_functional_programming.pdf
leifg
0
40
Bugs - What are they good for
leifg
0
21
Building Event Sourced Apps
leifg
1
810
Unicode Spaß
leifg
0
36
Event Sourcing - The Story Telling of Processes
leifg
1
61
Elixir Releases
leifg
0
140
Introduction to Rails
leifg
0
48
JRuby - The enterprise view
leifg
1
99
Other Decks in Technology
See All in Technology
AI技術トレンド勉強会 #1MCPの基礎と実務での応用
nisei_k
1
210
JSX - 歴史を振り返り、⾯⽩がって、エモくなろう
pal4de
3
900
Rubyで作る論理回路シミュレータの設計の話 - Kashiwa.rb #12
kozy4324
1
310
2025/6/21 日本学術会議公開シンポジウム発表資料
keisuke198619
2
350
AWS と定理証明 〜ポリシー言語 Cedar 開発の舞台裏〜 #fp_matsuri / FP Matsuri 2025
ytaka23
9
2.5k
活きてなかったデータを活かしてみた話 / Shirokane Kougyou vol 19
sansan_randd
1
340
“プロダクトを好きになれるか“も QAエンジニア転職の大事な判断基準だと思ったの
tomodakengo
0
140
kotlin-lsp を Emacs で使えるようにしてみた / use kotlin-lsp in Emacs
nabeo
0
150
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
6.4k
宇宙パトロール ルル子から考える LT設計のコツ
masakiokuda
2
100
Definition of Done
kawaguti
PRO
3
160
堅牢な認証基盤の実現 TypeScriptで代数的データ型を活用する
kakehashi
PRO
2
230
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
524
40k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
Optimizing for Happiness
mojombo
379
70k
Designing for Performance
lara
609
69k
Thoughts on Productivity
jonyablonski
69
4.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
690
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.9k
It's Worth the Effort
3n
184
28k
The Cost Of JavaScript in 2023
addyosmani
50
8.4k
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