Hacker GitHub

← All repos

rust-bakery/nom

View on GitHub ↗ ★ 10,485 Rust

Rust parser combinator framework

33 mentions on Hacker News by 31 people: 4 stories, 29 comments · first 2015-02-26 · latest 2026-08-07

Mentions per year 33 mentions · busiest year 2015 (7)
20082026
  1. …you understand it, it’s simple and parsing complex data becomes a _fun_ puzzle. I recommend it. https://github.com/rust-bakery/nom
    comment by speedgoose · 2026-08-07 · in Parsers don't have to be complicated
  2. …for any parsers `foo`, `bar`, and `baz` as: let quux = (foo, bar, baz).map().parse(&input)?; [1] https://github.com/rust-bakery/nom/blob/main/doc/choosing_a_... [2] https://web.archive.org/web/20140528151730/http://legacy.cs.... [3]…
  3. …it to parse a (very, very small) subset of Markdown recently [3] and enjoyed the experience. [1] https://github.com/rust-bakery/nom [2] https://github.com/rust-bakery/nom/blob/main/examples/json.r... [3]…
    comment by abound · 2025-02-19 · in Parsing JSON in 500 lines of Rust
  4. I may be the only one not familiar, but nom refers to https://github.com/rust-bakery/nom which looks like a pretty handy way to parse binary data in Rust.
  5. …compiler and I'm curious to see how other Rust compiler projects are doing parsing. [0] https://github.com/Geal/nom
  6. …operator precedence, where nom cannot do this natively (there's a PR open for the next version: https://github.com/Geal/nom/pull/1362 ) Tree-sitter's parsing algorithm (GLR) is tolerant to recursion patterns that will send a parser…
  7. And be sure to visit the "example parsers" hidden in an issue comment thread: https://github.com/Geal/nom/issues/14 I was sad at "[ ] PDF" because I consider that the torture test of any binary parsing framework
  8. …and expressive, though. I imagine you can hit limits to expressiveness in Yaml pretty quickly. [0] https://github.com/Geal/nom
  9. …But I still use regex more in my work, because most complex parsing I just throw into serde. [1] https://github.com/Geal/nom [2] https://www.christopherbiscardi.com/advent-of-code-2020-in-r...
    comment by adamch · 2022-01-12 · in Parsing Text with Nom
  10. …with the docs and examples to get a decent parser together. So nice to work with combinators! [^1]: https://github.com/Geal/nom
    comment by ashton314 · 2021-12-22 · in Parser Combinators in Haskell
  11. This might be a good thread to mention nom[1], a parser combinator in Rust. 1. https://github.com/Geal/nom
    comment by jchook · 2020-09-17 · in My Favorite Rust Function Signature
  12. …with rust is that in debug mode string handling is painfully slow. Edit: here's the URL for nom: https://github.com/Geal/nom
  13. …to use a PC library for prototyping, then if I need more performance I'll rewrite it by hand. [0] https://github.com/Geal/nom
    comment by necubi · 2019-01-06 · in Understanding Parser Combinators (2015)
  14. Arguably parser combinators satisfy the author's requirements, e.g. https://github.com/Geal/nom/
    comment by wcrichton · 2018-07-17 · in Designing a Good DSL
  15. …use, good support for expressing parse errors, with speed quite close to hand-written parsers. [0] https://github.com/Geal/nom
  16. …[2] https://docs.julialang.org/en/release-0.4/manual/performance... [3] https://github.com/Geal/nom_benchmarks/tree/master/http / https://github.com/Geal/nom
    comment by vvanders · 2017-10-14 · in Some Insights from a Julia Developer
  17. …personally prefer hand-written recursive descent parsers using a parser combinator framework (like https://github.com/Geal/nom ) over parser generators. For further processing like type checking, there is the common monolith aproach and…
  18. …& Scala PEG Library https://github.com/sirthias/parboiled Nom - Rust parser combinator framework https://github.com/Geal/nom Nearley - JavaScript parser toolkit https://github.com/Hardmath123/nearley Neotoma - Erlang library and packrat…
    comment by Cieplak · 2017-06-21 · in What the heck is a parser-combinator?
  19. There's also nom ( https://github.com/Geal/nom ) which is similar to Parsec and more designed for parsing text formats but used for binary formats too.
    comment by ungzd · 2016-12-08 · in 24 days of Rust – serde
  20. …so that's nice for some applications, and is faster/lower level. I've used the crate nom ( https://github.com/Geal/nom ) in the past, it's a parserc library for consuming bits/bytes. I used it to write a function that consumes a vector of…
  21. Meanwhile, for Rust fans... https://github.com/Geal/nom is a parser combinator library for Rust.
    comment by monocasa · 2016-09-08 · in Easy Parsing with Parser Combinators
  22. If you like lalrpop, check out nom: https://github.com/Geal/nom
  23. …that return 'Result's. nom is a much fancier thing which, IIUC, solves the same problems, and more: https://github.com/Geal/nom .
  24. This is somewhat similar to the streaming producer/consumer from another rust crate: https://github.com/Geal/nom perhaps they could be interoperable.
  25. I have been working with https://github.com/kevinmehall/rust-peg for a while. Also there is https://github.com/Geal/nom
  26. Some VLC committers have been experimenting with Rust. Mostly parsing, see https://github.com/geal/nom and http://spw15.langsec.org/papers/couprie-nom.pdf
  27. …things you can do if you use the nightly, like matching on error codes with slice or box patterns ( https://github.com/Geal/nom/wiki/Error-management#with-slice... ) or use no_std to embed the parser as a C library (…
  28. …the benchmarks have been optimized a bit, and someone contributed a cereal parser that beats nom ( https://github.com/Geal/nom_benchmarks ). It's alright, I just wanted to estimate where it stands - there is better error management:…
  29. https://github.com/Geal/nom https://github.com/Geal/nom_benchmarks