~/talk

Safe and fast parsers with Nom and Rust

Talkat Strange Loop 2015 · 2015-09-24..09-26· [rust]
slides:none on file

Nom is a Rust parser‑combinator library that produces zero copy streaming parsers with Rust’s ownership and zero cost abstractions, interoperates with C, and targets memory safety without GC. It implements bitstream parsing, an incomplete indicator for streaming, and debugging helpers like dbg_dmp plus chained error traces. Benchmarks include MP4 and HTTP comparisons that show Nom matching or beating handwritten C and Scala parsers, about 50 GitHub adopters after a year, and fuzzing finds bugs mainly in manual length calculations rather than in Nom itself.

AI-written summary · about

  1. 0:00Intro
  2. 0:44What is Clever Cloud ?
  3. 1:16VideoLAN
  4. 1:34VLC media player, in 2015
  5. 2:18Origin of vulnerabilities
  6. 3:13We need a practical solution
  7. 4:36Modeling vulnerabilities
  8. 5:03describing the input language
  9. 7:15Finding the ambiguities
  10. 7:41Matching implementations
  11. 8:54Increasing state space
  12. 10:50Format gotchas
  13. 13:18Real world formats
  14. 14:22Fixing manual parsing
  15. 15:57The promise of Rust
  16. 16:44Slices
  17. 17:51How nom looks like
  18. 18:39Basic types
  19. 18:59Generics
  20. 19:24usual combinators and parsers
  21. 19:48Zero copy
  22. 20:20Performance
  23. 21:56Incomplete
  24. 23:28Debugging
  25. 24:23Error management
  26. 25:08Error macro
  27. 26:15A chain of errors
  28. 26:27pattern matching
  29. 27:48Colorful hexdump
  30. 28:38Existing parsers
  31. 29:45Summing up
  32. 31:17Questions ?
  33. 34:36Bit stream parsing
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.