Slide 1

Slide 1 text

Hello World Parsers with JavaScript

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

Programming === Hiking

Slide 4

Slide 4 text

Compilers Reverse Engineering Building Developer Tools

Slide 5

Slide 5 text

You don't Say

Slide 6

Slide 6 text

Every single program can be reduced to Input Transformation Output * Former Boss

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Human Readable Parsing Machine Readable Grammar

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

"in 11 seconds" 11 "11 seconds ago" -11 "in 5 minutes" 300 "in 1 minute and 30 seconds ago" 90 "now" 0

Slide 11

Slide 11 text

Leif Demo

Slide 12

Slide 12 text

// 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)

Slide 13

Slide 13 text

Leif Demo

Slide 14

Slide 14 text

What else? Domain Specific NLP Config Files (Re)Implement Programming Languages

Slide 15

Slide 15 text

Abstract Syntax Tree add(1, multiply(5,3)) { type: "callExpression", name: "add", arguments: [1 { type: "callExpression", name: "add", arguments: [5, 3] }] }

Slide 16

Slide 16 text

Why?

Slide 17

Slide 17 text

Focus!

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

Leif Demo

Slide 20

Slide 20 text

- Parsers seem intimidating - Helps you understand Recursion - Try out formulon.io

Slide 21

Slide 21 text

Shopping List

Slide 22

Slide 22 text

Back

Slide 23

Slide 23 text

Back