Pest

Languages and libraries

parser generator

SHOW HN2017

108points
27comments
#420of 2,242 in 2017
Top 19%of 2017 by points

How HN took it

DebatedReal support and real criticism

6 positive, 3 neutral or asking, 0 mixed, 5 critical, out of 14 comments about the project. Thread score -0.07.

Docs: 1 for, 2 againstPerformance: 1 for, 1 againstIdea: 1 for, 1 againstDesign: 0 for, 1 againstExecution: 1 for, 0 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Speed is good and the DSL feels familiar

    From 1 comment
    • Been using this for a couple weeks now and dig it. The DSL feels familiar and the speed is yummy. I'd been using LALRPOP for some months; I dig it too, but just couldn't get the…
      turboladen on HN

Objections

  • Title suggested it was a Rust AST parser, not a parser generator

    From 3 comments
    • 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.
      hobofan on HN
    • Yes this is no doubt the current implication. I was expecting something like racer.
      grimgrin on HN
    • 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.
      reificator on HN
  • Creative operator overloading in the grammar syntax is hard to read

    From 1 comment
    • This is a neat project! I might take a look at this if/when I get started on my dream language. :p One constructive criticism, which may be only an unpopular opinion, but I find…
      weberc2 on HN
  • Benchmark comparison with nom seemed unfair

    From 1 comment
    • I'm a bit confused by the benchmark. I looked through the benchmark code and, without really understanding what I'm looking at, the result of the nom parser looks much closer to…
      jorams on HN

Requests

  • Clearer title stating it is a parser generator

    From 2 comments
    • 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.
      hobofan on HN
    • 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…
      z1mm32m4n on HN

Questions

  • What type of parser does it produce?

    From 1 comment
  • Does it handle Unicode character families well?

    From 2 comments
    • I remember playing with PEGjs back in the day, making a toy implementation of JS in JS. It had terrible Unicode support though. To build a token out of valid Unicode…
      OtterCoder on HN
    • The difficulty wasn't in the engine. JS itself is just as good with accepting Unicode characters as Rust, both in code and strings. The problem was with the PEG implementation.…
      OtterCoder on HN

Alternatives named

  • LALRPOP

    From 1 comment
    • Been using this for a couple weeks now and dig it. The DSL feels familiar and the speed is yummy. I'd been using LALRPOP for some months; I dig it too, but just couldn't get the…
      turboladen on HN
  • nom

    From 1 comment
    • I'm a bit confused by the benchmark. I looked through the benchmark code and, without really understanding what I'm looking at, the result of the nom parser looks much closer to…
      jorams on HN
  • syn

    From 1 comment
    • 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.
      dikaiosune on HN
  • GNU Bison and Yacc

    From 1 comment
    • "Parsing expression grammars (PEGs) are an alternative to context free grammars for formally specifying syntax" [1] Basically, you have tools for context free grammars such as…
      jmcomets on HN
  • PEGjs

    From 1 comment
    • I remember playing with PEGjs back in the day, making a toy implementation of JS in JS. It had terrible Unicode support though. To build a token out of valid Unicode…
      OtterCoder on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/15111390)