Safe and fast parsers with Nom and Rust
summary
Shows how to build parsers using Nom, a parser-combinator library for the Rust programming language, highlighting how Rust’s memory-safety features are leveraged to make parsing both fast and less error-prone. Emphasizes tooling and code reuse provided by the Nom project to simplify parser development.
AI-written summary · about
chapters (35)
- 0:00Intro
- 0:30What is Clever Cloud ?
- 1:13VideoLAN
- 1:36VLC media player, in 2015
- 2:10Origin of vulnerabilities
- 3:23We need a practical solution
- 4:42Modeling vulnerabilities
- 5:29describing the input language
- 7:31Postel's law should be avoided
- 8:34Finding the ambiguities
- 9:26Matching implementations
- 10:43Increasing state space
- 11:21Format gotchas
- 12:58Real world binary formats
- 14:22Fixing manual parsing
- 15:39The promise of Rust
- 16:10Slices
- 18:08Basic types
- 18:31Generics
- 18:52Regular expression parsers
- 19:07Bit stream parsing
- 20:06usual combinators and parsers
- 20:28Zero copy
- 20:52Performance
- 22:10Incomplete
- 22:54Debugging
- 24:25Error management
- 24:59Error macro
- 25:29A chain of errors
- 25:39pattern matching
- 27:05Colorful hexdump
- 27:34Existing parsers
- 29:09Summing up
- 30:11Questions?
- 30:56How nom looks like
related talks
43mSafe and fast parsers with Nom and Rust
41mParsing Safely, from 500MB/s to 2GB/s
30mIntegrating some Rust in VLC media player
32mMenhir and Friends: the State of the Art of Parsing in Rust
33mIntegrating Some Rust in VLC Media Player
27mParsing Rust code considered harmful
20mRust for Safer Protocol Development
01h 27mBoost.Parser (Part 1 of 2) - A Parser Combinator Library for C++
