Re:Show HN: Pest – Fast parser generator written in Rust
by hobofan on Sunday August 27, 2017 @02:19PM
(#15111920)
Shouldn't the title better by "Pest - Fast, modern parser _in_ Rust"? The current title made me think that this would be a Rust AST parser, similar to syntex.
[ Parent
| on HN ]
Re:Show HN: Pest – Fast parser generator written in Rust
by z1mm32m4n on Sunday August 27, 2017 @04:17PM
(#15112487)
The confusion here is because Pest is not, in fact, a parser. It's a parser generator: you can use it to generate parsers (maybe even a parser for Rust), but it is not in itself a parser.
A better title would be "Pest - Fast, modern parser generator for Rust".
One cool thing is that rather than the parser generation being a standalone tool, it's written using Rust's macro system. Normal parser generators use some sort of command line tool to generate say C code which can then be used like any other library. Here, there's no need for generated code, because the Rust macro system generates it on the fly.
Re:Show HN: Pest – Fast parser generator written in Rust
by reificator on Sunday August 27, 2017 @03:02PM
(#15112123)
Exactly what I came into this thread expecting. Was curious why when it looks like there's already great IDE support for Rust with existing tools.
Re:Show HN: Pest – Fast parser generator written in Rust
by dikaiosune on Sunday August 27, 2017 @03:42PM
(#15112328)
There's actually a parser for rust called syn, and it's very useful for procedural macros, as the current API exposes a stream of tokens, not a full AST.
Re:Show HN: Pest – Fast parser generator written in Rust
by steveklabnik on Sunday August 27, 2017 @04:03PM
(#15112409)
To elaborate a bit on that, exposing an AST directly means that you're tied to that version of the AST; this was considered really hard for compatibility over versions. Token streams are much easier to define an interface for, and more flexible: you're not just stuck with whatever AST representation we'd have given you.
For example: https://doc.rust-lang.org/book/first-edition/procedural-macr...
Re:Show HN: Pest – Fast parser generator written in Rust
by dragostis on Sunday August 27, 2017 @04:10PM
(#15112450)
I agree. I guess I was trying hard to suggest the fact that it can be used _with_ Rust and not the fact that it is written _in_ Rust.