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
20082026
-
…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 -
…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]…
comment by maxbond · 2025-02-24 · in Ask HN: What are you working on? (February 2025) -
…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 -
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.
comment by benmanns · 2023-10-04 · in Show HN: A nom parser for the Starcraft 2 Protocol Replay format -
…compiler and I'm curious to see how other Rust compiler projects are doing parsing. [0] https://github.com/Geal/nom
comment by lsllc · 2022-08-24 · in Rustle: Svelte compiler rewritten in Rust -
…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…
comment by mullr · 2022-07-09 · in Chumsky, a Rust parser-combinator library with error recovery -
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
comment by mdaniel · 2022-03-18 · in Kaitai Struct: A new way to develop parsers for binary structures -
…and expressive, though. I imagine you can hit limits to expressiveness in Yaml pretty quickly. [0] https://github.com/Geal/nom
comment by CGamesPlay · 2022-03-17 · in Kaitai Struct: A new way to develop parsers for binary structures -
…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 -
…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 -
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 -
…with rust is that in debug mode string handling is painfully slow. Edit: here's the URL for nom: https://github.com/Geal/nom
comment by inferiorhuman · 2020-02-16 · in ESbuild – A fast JavaScript bundler and minifier in Go -
…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) -
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 -
…use, good support for expressing parse errors, with speed quite close to hand-written parsers. [0] https://github.com/Geal/nom
comment by necubi · 2018-04-08 · in Writing a recursive ascent parser by hand -
…[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 -
…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…
comment by vengarioth · 2017-09-05 · in Ask HN: Resources for building a programming language? -
…& 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? -
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 -
…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…
comment by leshow · 2016-11-16 · in Rust and the Future of Systems Programming [video] -
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 -
If you like lalrpop, check out nom: https://github.com/Geal/nom
comment by samatman · 2016-07-08 · in Corrode: C to Rust translator written in Haskell -
…that return 'Result's. nom is a much fancier thing which, IIUC, solves the same problems, and more: https://github.com/Geal/nom .
comment by briansmith · 2016-06-20 · in Afl.rs: Fuzzing Rust code with american-fuzzy-lop -
This is somewhat similar to the streaming producer/consumer from another rust crate: https://github.com/Geal/nom perhaps they could be interoperable.
comment by nutate · 2015-10-11 · in Plumbum: A lazy, constant-memory streaming data Rust library -
I have been working with https://github.com/kevinmehall/rust-peg for a while. Also there is https://github.com/Geal/nom
comment by buster · 2015-06-19 · in “Land initial Rust MP4 parser and unit tests” -
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
comment by steveklabnik · 2015-06-18 · in “Land initial Rust MP4 parser and unit tests” -
…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 (…
comment by geal · 2015-05-26 · in Nom, a byte oriented, streaming, zero copy, parser combinators library in Rust [pdf] -
…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:…
comment by geal · 2015-05-26 · in Nom, a byte oriented, streaming, zero copy, parser combinators library in Rust [pdf] -
https://github.com/Geal/nom https://github.com/Geal/nom_benchmarks
comment by flippant · 2015-05-25 · in Nom, a byte oriented, streaming, zero copy, parser combinators library in Rust [pdf]