 
      
    | You are here | fsharpforfunandprofit.com | ||
| | | | | tyrrrz.me | |
| | | | | A while ago I had to implement proper markdown parsing in DiscordChatExporter so that I could replace the brittle regular expressions I had been using. I had no idea how to approach this problem, so I spent days researching into this, eventually learning... | |
| | | | | andreabergia.com | |
| | | | | I usually write parsers by starting from a grammar and either coding a lexer/parser by hand or relying on tools such as the fantastic Antlr. However, a friend recently introduced me to parser combinators, which I found to be very interesting and useful. It's not a recent idea, but it was new to me, and I have found it to be very interesting and useful. | |
| | | | | blog.drewolson.org | |
| | | | | Delving into the world of pure functional programming caused me to learn about parser combinators. Upon returning to Elixir, I was excited to see that nimble_parsec is a great example of a parser combinator library for the Elixir ecosystem. Parser combinators can be notoriously confusing when first learned. In this post I'll provide a gentle introduction to parser combinators via nimble_parsec. What is a Parser Combinator? Have you ever found yourself writing a regular expression to parse input? I know I have. You finally have the syntax correct and then new requirements get added. Suddenly you need to support optional tokens, lists of values and other complicated types of input. When regular expressions start to break down because of complexity, it's time to reach for a more powerful abstraction. Enter parser combinators. | |
| | | | | www.infoworld.com | |
| | | Zig is an up-and-coming systems-oriented language that could one day replace C. Here's what you need to know about Zig. | ||