top | item 38490770

(no title)

matjazdrolc | 2 years ago

I ended up using parser combinator library nom. It's not something I use daily, therefore parsing became a puzzle on its own.

Nom already has a parser for numbers. However, I didn't find an elegant way to take at most one digit. In the end I used take_while_m_n, and mapped it with u64::from_str().

Another challenge was absence of something such as find_all, that would repeatedly try to parse beginning from each character and then return all matches. I ended up writing my own combinator.

https://github.com/drola/AdventOfCode2023/blob/main/src/bin/...

discuss

order

V41frQo1SccpfHI|2 years ago

Wow thanks, I was stuck with the iterating part and your solution really helped me :)