Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Parser combinators are great, we're using parser combinators in production, they are great ie. for typescript [0].
[0] https://github.com/preludejs/parser
I wrote a crate to facilitate this:*
https://github.com/dfhoughton/pidgin
As it says there, you can only build non-recursive grammars this way.
And the reason I wrote that crate:
https://github.com/dfhoughton/two-timer
And the reason I wrote that crate:
https://github.com/dfhoughton/jobrog
And having written these crates, I went back to writing Ruby for my day job. I am not a very experienced rustacean, and what skill I developed writing these things has faded, but I use the last one daily, so the regex-based parser is still working pretty well.
* It's a "parser combinator library" inasmuch as it allows you to write reusable parsing rules that can be components of other rules.
I wrote a crate to facilitate this:*
https://github.com/dfhoughton/pidgin
As it says there, you can only build non-recursive grammars this way.
And the reason I wrote that crate:
https://github.com/dfhoughton/two-timer
And the reason I wrote that crate:
https://github.com/dfhoughton/jobrog
And having written these crates, I went back to writing Ruby for my day job. I am not a very experienced rustacean, and what skill I developed writing these things has faded, but I use the last one daily, so the regex-based parser is still working pretty well.
* It's a "parser combinator library" inasmuch as it allows you to write reusable parsing rules that can be components of other rules.
I wrote a crate to facilitate this:*
https://github.com/dfhoughton/pidgin
As it says there, you can only build non-recursive grammars this way.
And the reason I wrote that crate:
https://github.com/dfhoughton/two-timer
And the reason I wrote that crate:
https://github.com/dfhoughton/jobrog
And having written these crates, I went back to writing Ruby for my day job. I am not a very experienced rustacean, and what skill I developed writing these things has faded, but I use the last one daily, so the regex-based parser is still working pretty well.
* It's a "parser combinator library" inasmuch as it allows you to write reusable parsing rules that can be components of other rules.